gpt4 book ai didi

sql - 合并语句数组作为源表

转载 作者:行者123 更新时间:2023-12-04 23:02:25 27 4
gpt4 key购买 nike

是否可以使用数组作为合并语句的源

例如。我有以下合并语句,当我编译时,出现错误。
如何使用与数组合并作为源表?

PLS-00436: implementation restriction: cannot reference fields of BULK In-BIND 
table of records

程序代码
CREATE or REPLACE PROCEDURE my_proc (varray IN my_array)
AS
BEGIN
FORALL i IN varray.first..varray.last
MERGE INTO tab t
USING dual
ON ( t.proj_id = varray(i).proj_id)
WHEN MATCHED THEN
UPDATE set
proj_title = varray (i).proj_title
WHERE proj_id = varray (i).proj_id
WHEN NOT MATCHED THEN
insert (proj_id,proj_title)
values (varray (i).proj_id,varray (i).proj_title);
values (varray (i).proj_id,varray (i).proj_title);

最佳答案

Oracle 10g 中有一个限制——您不能访问 FORALL 中的单个记录字段。陈述。如果您使用的是 Oracle 11g,则可以这样做。

但是,有一些解决方法,我推荐以下文章,其中提出了其中一些:PLS-00436 in 10g - Workaround .

关于sql - 合并语句数组作为源表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19905915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com