ddl in PL/SQL
If you write DDL directly in PL/SQL. You will hit error.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
1 DECLARE 2 str_sql varchar2(500); 3 begin 4 create
table test (id number); 5 end ; 6 / create
table test (id number); * ERROR at
line 4: ORA-06550: line 4, column
2: PLS-00103: Encountered the symbol "CREATE"
when expecting one of
the following: begin case declare exit for goto if loop mod null
pragma raise return
select update while with
<an identifier> <a double -quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert
open rollback savepoint set
sql execute
commit forall merge pipe |
But you can use dynamic run as below.
1
2
3
4
5
6
7
8
9
10 |
1 DECLARE 2 str_sql varchar2(500); 3 begin 4 str_sql := ‘create table test (id number)‘ ; 5 execute
immediate str_sql; 6 end 7 ; 8 / PL/SQL procedure
successfully completed. |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。