declare begincreate table MTable
(
temp1 varchar(20),
temp2 number(20)
)
end;
代码如上,执行的时候就出错:Error: 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
<a single-quoted SQL string> pipe
<an alternatively-quoted SQL string>
Line: 6
Text: create table MTable
(
temp1 varchar(20),
temp2 number(20)
)
end;
代码如上,执行的时候就出错:Error: 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
<a single-quoted SQL string> pipe
<an alternatively-quoted SQL string>
Line: 6
Text: create table MTable
execute immediate '
create table MTable
(
temp1 varchar(20),
temp2 number(20)
);';
end;
楼上的方法就是那样的。 用 excute immediate 'SQL 执行语句';
DDL是定义,DML是操作。
楼上的楼上,应该不需要2个;吧?
begin
execute immediate '
create table MTable
(
temp1 varchar(20),
temp2 number(20)
)';
end;