plsql动态sql语句[重复]
Posted
技术标签:
【中文标题】plsql动态sql语句[重复]【英文标题】:Plsql dynamic sql statement [duplicate] 【发布时间】: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语句不会立即执行语句。
【问题讨论】:
【参考方案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;
【讨论】:
感谢您的回答!!我们如何在执行立即语句中插入变量?对不起,我是程序编写的新手:) 您可以使用 USING 子句。查看链接docs.oracle.com/cd/B28359_01/appdev.111/b28370/dynamic.htm中的示例7.1【参考方案3】:是的,你是对的,动态 sql 语句不会立即执行语句。检查这个答案execute immediate create table and update table
【讨论】:
感谢您的回答!!我们如何在执行立即语句中插入变量?对不起,我是程序编写的新手:)以上是关于plsql动态sql语句[重复]的主要内容,如果未能解决你的问题,请参考以下文章