我在SQLRPGLE for DB2中有以下查询:
INSERT INTO ITEMS2 (PROGRAM, VLDFILE, VLDFLD,
SELFILE, SELFLD) VALUES(:SCAPP , 'CSTMR', 'CYC',
'BYC', 'BYCC');
我希望此查询能够在FIRST / ITEMS2和SECOND / ITEMS2中的2个库中运行
其中FIRST和SECOND是库名。这可以在一个查询中实现吗?
对于那些不了解iSeries的人:上面的insert语句类似于对2个表进行插入查询。
答案 0 :(得分:2)
INSERT语句不支持插入多个表。
但是,您可以在FIRST/ITEMS2
上创建触发器,以自动将记录插入/更新/删除到SECOND/ITEMS2
。
有关详细信息,请参阅CREATE TRIGGER声明。
答案 1 :(得分:1)
如果经常运行,请考虑将INSERT插入存储过程,然后通过SET SCHEMA设置目标模式:
set schema=first;
call my_insert_proc(:scapp);
set schema=second;
call my_insert_proc(:scapp);
答案 2 :(得分:1)
您可以像这样创建一个QMQuery
INSERT INTO &LIB/ITEMS2
(PROGRAM, VLDFILE, VLDFLD, SELFILE, SELFLD)
VALUES (&SCAPP, 'CSTMR', 'CYC', 'BYC', 'BYCC');
然后
STRQMQRY myQmQry SETVAR(('LIB' 'FIRSTLIB')('SCAPP' &VAR))
STRQMQRY myQmQry SETVAR(('LIB' 'SECONDLIB')('SCAPP' &VAR))
答案 3 :(得分:0)
从IBM的INSERT
(http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Fdb2%2Frbafzbackup.htm)的语法图中,我要说你必须提出两个问题。
但是在第一次执行此查询后,您可以尝试更改当前库(http://publib.boulder.ibm.com/infocenter/iadthelp/v7r1/topic/com.ibm.etools.iseries.langref2.doc/chglibl.html)。