JCL中执行如何SQL


平常我们用第三方软件来对DB2操作,比如eclipse,比如DBedit,又或者是mainframe上面的软件,如Filemanager,SPUFI等。 那怎么在JCL里面运行SQL呢?答案是利用IKJEFT01

//***************************************************************               
//*UNLOAD:   unload data using IKJEFT01 via dynamic SQL in JCL  *               
//***************************************************************               
//UNLOAD  EXEC PGM=IKJEFT01,DYNAMNBR=20                                        
//             INCLUDE MEMBER=XXXXSRUN                                          
//             INCLUDE MEMBER=XXXXLOAD                                          
//SYSTSPRT DD SYSOUT=*                                                          
//SYSUDUMP DD SYSOUT=*                                                          
//SYSPRINT DD SYSOUT=*                                                          
//SYSREC00 DD DSN=IBMUSER.SQL.OUTPUT,                              
//            DISP=(NEW,PASS,DELETE),UNIT=SYSDA,                                                                                                         
//            SPACE=(CYL,(10,10),RLSE),                                         
//            DCB=(RECFM=FB,BLKSIZE=0,DSORG=PS)                                                    
//SYSIN    DD  *                                                                
SELECT * FROM ABCD.MYTABLE WHERE NAME='XIAOMING'                                                                     
/*                                                                              
//SYSTSIN  DD  *                                                                
 DSN SYSTEM(XXXX)                                                               
 RUN PROG(DSNTIAUL)  PLAN(DSNTIAUL) PARM('SQL')                                 
/*                                                                              
//SYSPUNCH DD SYSOUT=*                                                             
//*         

PS: 这里'XXXX'是指代DB2 subsystem 插一句,利用这种JCL的方法的好处是可以在接下去的Step里接着对SQL结果处理,利于自动化。

Comments !