【问题标题】:Plsql dynamic sql statement [duplicate]plsql动态sql语句[重复]
【发布时间】:2013-11-28 13:14:54
【问题描述】:

我正在一个过程中执行这两条语句。

 execute immediate 'create table temp_test(user_state varchar(100), user_goal varchar(100))';
      insert into temp_test values('sunil','test');

它给了我错误table not found.

所以我只想知道动态sql语句不会立即执行语句。

【问题讨论】:

    标签: sql plsql procedure


    【解决方案1】:

    您还必须动态插入:

    begin
      execute immediate 'create table temp_test(user_state varchar(100), user_goal varchar(100))'; 
      execute immediate 'insert into temp_test values('sunil','test');';
      COMMIT ;
    end;
    

    【讨论】:

    • 感谢您的回答!!我们如何在执行立即语句中插入变量?对不起,我是程序编写的新手:)
    【解决方案2】:

    应该是

    begin
      execute immediate 'create table temp_test(user_state varchar(100), user_goal varchar(100))'; 
      execute immediate 'insert into temp_test values(''sunil'',''test'')';
      COMMIT ;
    end;
    

    【讨论】:

    【解决方案3】:

    是的,你是对的,动态 sql 语句不会立即执行语句。检查这个答案execute immediate create table and update table

    【讨论】:

    • 感谢您的回答!!我们如何在执行立即语句中插入变量?对不起,我是程序编写的新手:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多