为什么sqlplus脚本中的execute immediate 'truncate table trade_economics';
会出现以下错误?
BEGIN immediate 'truncate table trade_economics'; END;
*
ERROR at line 1:
ORA-06550: line 1, column 17:
PLS-00103: Encountered the symbol "truncate table trade_economics" when
expecting one of the following:
:= . ( @ % ;
The symbol ":=" was substituted for "truncate table trade_economics" to
continue.`
答案 0 :(得分:4)
您需要在execute
之前添加immediate
才能使其发挥作用。
类似的东西:
begin
execute immediate 'truncate table foo';
end;
/
答案 1 :(得分:0)
TRUNCATE是DDL(数据定义语言)。您无法在PL / SQL中执行DDL。也就是说,你不能直接但你可以通过动态SQL。
所以
使用此: 删除
答案 2 :(得分:0)
此执行可以包含在过程
中EXECUTE IMMEDIATE ('truncate table name');
--next--
INSERT
/ * + append * /
INTO table ..