我想把它扔出去寻找一些想法。我正在编写一个程序来生成插入/更新语句,我希望我插入/更新的表来自查询结果。所以像(请原谅语法):
INSERT INTO (SELECT TBL_NAME FROM MYTABLES WHERE A=B) VALUES ('A', 'B', 'C');
我必须在Oracle中这样做,但我不太熟悉它们的声明语句或语法。我猜测最好的方法是声明一个SELECT结果的变量,但是我可以使用该变量作为INSERT的表名吗?
我也希望将代码保存在SQL中。
感谢任何想法。
答案 0 :(得分:4)
我想你可能想看看Dynamic SQL,你可能会找到你的答案(或者至少是一个不错的起点)。
答案 1 :(得分:0)
这样的事情怎么样:
SELECT 'INSERT INTO ' || TBL_NAME || ' VALUES (''A'', ''B'', ''C'');' cmd
FROM MYTABLES WHERE A=B
;
运行此选择,然后运行select的结果(即insert语句)。 不要忘记“提交”。
此致 罗杰 所有观点都是我的......