在AS/400上创建并执行sql脚本

在AS/400上创建并执行sql脚本
2008/10/30 23:25

1、创建源文件
crtsrcpf lyf1/batchsrc

2、选择编辑源文件菜单
4 Edit a source file

3、创建TXT类型成员
Source file . . . . . . BATCHSRC Library . . . . . LYF1
Position to . . . . . . . . . . . . . . . . . . . . . . . . . . . .
New member . . . . . . . . . . . . . . . . . . . . . . . . . . . . initdata
Type for new member . . . . . . . . . . . . . . . . . . . . . . . TXT
Text . . . . . . . . .
Type options, press Enter.
2=Edit 4=Delete 5=Browse 6=Print
Opt Member Type Text
(No members in the file)

4、用SEU编辑成员内容
Columns . . . : 1 80 Edit LYF1/BATCHSRC
SEU==> INITDATA
FMT ** …+… 1 …+… 2 …+… 3 …+… 4 …+… 5 …+… 6 …+… 7
*************** Beginning of data ********************************************
0001.00 insert into tb2007 values(20, ‘20′); 070824
****************** End of data ***********************************************
第4步也可以这样完成:
1)首先在ultraEdit编辑好initdata.txt脚本文件,并转换为unix格式
2)用FTP在binary模式中上传initdata.txt文件(缺省路径是/home/UserName)
3)将流文件内容拷贝到源文件的initdata成员中
cpyfrmstmf fromstmf(’/home/LYF/initdata.txt’) tombr(’/qsys.lib/lyf1.lib/batchsrc.file/initdata.mbr’) mbropt(*replace)

注意:对source文件(文本文件)可以不用流文件的转换,直接ftp上传或下载即可:
ftp>cd /QSYS.LIB/LYF1.LIB/BATCHSRC.FILE
ftp>put initdata.txt initdata.mbr #将文件上传给源文件的成员即可

4)查看成员内容是否正确

5、按F3推出保存修改内容

6、运行批处理脚本
runsqlstm srcfile(lyf1/batchsrc) srcmbr(initdata) commit(*none)

注意事项:
(1)源文件成员类型一定为TXT;
(2)每条语句要以分号结束;
(3)value中的值之间要用空格分开,values(20,[blank]’20′);
(4)不支持Select语句;
(5)如果不是使用事务处理,应该将COMMIT(*CHG)—>COMMIT(*NONE),否则执行RUNSQLSTM命令出错,而且会造成SQL语句失效。

原文地址:https://www.cnblogs.com/lane_yang/p/1957710.html