如何解决在Oracle Trigger中创建动态SQL查询
| 我正在尝试在Oracle 9i中编写触发器,该触发器将根据触发触发器的NEWROW的值创建一些动态插入语句。 我需要将新行中两个字段的值传递给一个返回值表的现有函数(此函数已经存在并且可以正常工作)。基本上,该函数将字符串拆分为表格行。例如,如果我传递的两个值是\'Shirt,Sweater \'和\'Red,Blue \',则会获得两个表格。第一个表具有以下值:Shirt
Sweater
第二个表具有值
Red
Blue
很简单返回这两个表后,我需要根据这两个表中的值创建一些动态插入语句,如下所示:
insert into mytable values (\'Shirt\',\'Red\')
insert into mytable values (\'Shirt\',\'Blue\')
insert into mytable values (\'Sweater\',\'Red\')
insert into mytable values (\'Sweater\',\'Blue\')
不必使用现有功能。如果可以使用此触发器将字符串拆分为数组,并且最终结果相同,那么该结果也可以使用。
在这方面的任何帮助将不胜感激。谢谢。
解决方法
换句话说,您是否想要数组元素的所有可能组合?
FOR i in 1 .. clothing.count LOOP
FOR j in 1 .. colors.count LOOP
INSERT INTO mytable VALUES ( clothing(i),colors(j) );
END LOOP;
END LOOP;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。