加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 在存储过程中截断表

发布时间:2020-12-12 14:30:25 所属栏目:百科 来源:网络整理
导读:当我在Oracle shell中运行以下命令时,它运行正常 truncate table table_name 但是当我试图把它放在一个存储过程 CREATE OR REPLACE PROCEDURE test ISBEGIN truncate table table_name;END test;/ 它失败 ERROR line 3,col 14,ending_line 3,ending_col 18,
当我在Oracle shell中运行以下命令时,它运行正常
truncate table table_name

但是当我试图把它放在一个存储过程

CREATE OR REPLACE PROCEDURE test IS
BEGIN
    truncate table table_name;
END test;
/

它失败

ERROR line 3,col 14,ending_line 3,ending_col 18,Found 'table',Expecting:  @   ROW  or   (   or   .   or   ;   :=

为什么?

谢谢,
Klas Mellbourn

Oracle PL / SQL中的所有DDL语句应在语句之前使用Execute Immediate。因此,您应该使用:
execute immediate 'truncate table schema.tablename';

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读