gpt4 book ai didi

sql - plsql使用一个立即执行命令插入多行

转载 作者:行者123 更新时间:2023-12-02 07:11:55 25 4
gpt4 key购买 nike

有没有办法在一个 EXECUTE IMMEDIATE 中插入多行?而不是为每个插入编写 EXECUTE IMMEDIATE...

最佳答案

很难说出你插入的是什么。您可以使用 EXECUTE IMMEDIATE 轻松执行 INSERT...SELECT,但我怀疑这不是您想要的,并且您可能不只是想围绕 EXECUTE IMMEDIATE 进行循环。

如果多表插入不是您想要的,您可以在 PL/SQL block 和/或 FORALL 中使用 EXECUTE IMMEDIATE

create table test_forall_dyn (val varchar2(1));

declare
type tab_char is table of varchar2(1) index by binary_integer;
t_char tab_char;
begin
for i in 1..26 loop
t_char(i) := chr(64 + i);
end loop;
forall i in 1..26
execute immediate
'begin
insert into test_forall_dyn (val) values(:1);
insert into test_forall_dyn (val) values(:1);
end;'
using t_char(i);
end;
/

select count(*) from test_forall_dyn;

关于sql - plsql使用一个立即执行命令插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5148324/

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