gpt4 book ai didi

sql - 立即执行 ' some commands '

转载 作者:行者123 更新时间:2023-12-04 19:15:50 26 4
gpt4 key购买 nike

是否可以在一个 EXECUTE IMMEDIATE block 中执行一些 sql 命令?

这个语法有什么问题:

declare
pragma autonomous_transaction;
begin
execute immediate
'begin
COMMENT ON TABLE t1 IS ''description1'';
COMMENT ON TABLE t2 IS ''description2'';
end;';
end;

对于一个 SQL 命令它工作正常:

declare
pragma autonomous_transaction;
begin
execute immediate ' COMMENT ON TABLE t1 IS ''description1'' ';
end;

最佳答案

字符串中的begin end 将被视为PL/SQL 匿名 block 。 PL/SQL 中不允许使用 DDL,例如 COMMENT。如果是,您将不需要立即执行。 Oracle 本质上一次处理一个 PL/SQL 语句 block 或一个 SQL 语句。虽然也有批处理 SQL 语句的 API。

因此,要在 PL/SQL block 或过程中运行 COMMENT,您需要立即执行 语句。

如果没有更多上下文,我无法明智地评论这是否是正确的方法,或者如果单独使用两个评论语句会更好。

关于sql - 立即执行 ' some commands ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10031695/

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