ITPub博客

首页 > Linux操作系统 > Linux操作系统 > pl/sql块中执行DDL

pl/sql块中执行DDL

原创 Linux操作系统 作者:guxueliang 时间:2011-11-28 14:26:37 0 删除 编辑

客户的一个procedure执行的特别慢,执行一次要1000多分钟,同时伴有undo增大现象。查看procedure,以下语句引起注意:

delete spcuser.mteg01;
delete spcuser.mteg02;
delete spcuser.mteg03;
delete spcuser.g_mteg01;

查看表的大小,每个都是千万级的,妈呀.....

遂告知应该用truncate,回应,PL/SQL中不能使用truncate,用truncate编译不通过,于是写一简单例子供其参考

CREATE OR REPLACE PROCEDURE ****.DELTABLE
AS
BEGIN
 execute immediate 'TRUNCATE TABLE ****.GUXUELIANG';
END;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7958405/viewspace-712224/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: PGA 测试(转)
请登录后发表评论 登录
全部评论

注册时间:2008-04-17

  • 博文量
    17
  • 访问量
    65643