小编Ste*_*eve的帖子

苦苦挣扎着使用Oracle动态SQL

我正在研究一个需要非常自动化的Oracle过程,所以我使用的是动态SQL.我是新手使用动态SQL.

我正在使用varchar2变量来构建需要执行的SQL.我已经使用dbms_output来捕获正在生成的SQL,并且执行正常:

sql创建Basket Swap table = CREATE TABLE INBOUND.BASKET_CTAS_SWP COMPRESS FOR QUERY HIGH as SELECT*FROM INBOUND.BASKET_FCT PARTITION(SYS_1234);

但是,当我使用它执行该过程时,它会生成以下错误

Execute MyProcedure;
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何指导!

oracle版本:Oracle Database 11g企业版版本11.2.0.3.0 - 64位生产

IDE:Oracle SQL Developer版本4.0.2.15 Build 15.21

码:

note: all variables set at beginning of procedure...
Sqlexec:= 'CREATE TABLE ' || Basket_Swap_Schema ||  '.' || Basket_Swap_Table_Name  || ' ';
Sqlexec:= Sqlexec || 'COMPRESS FOR QUERY HIGH  ';
Sqlexec:= Sqlexec || 'AS SELECT * FROM ' || Basket_Source_Schema_Name || '.' || Basket_Source_Table_Name || '  ';
Sqlexec:= Sqlexec …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql dynamic-sql oracle-sqldeveloper

3
推荐指数
1
解决办法
3008
查看次数

标签 统计

dynamic-sql ×1

oracle ×1

oracle-sqldeveloper ×1

plsql ×1

sql ×1