ora-06550   PLS-00103

billlyh 2013-08-10 12:54:48
想在触发器里将主键失效,如下代码在pl/sql却报错
DECLARE
BEGIN
alter table bale_info disable primary key cascade;
END;

ora-06550:line3,column3
PLS-00103:Encountered the symbol "ALTER" when expecting one of the following:
.......................

但是单独运行语句 alter table bale_info disable primary key cascade;
表bale_info主键是能失效的


哪位帮忙看看????????
...全文
222 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
billlyh 2013-08-10
  • 打赏
  • 举报
回复
单独在pl/sql运行语句就可以: DECLARE BEGIN EXECUTE IMMEDIATE 'alter table bale_info disable primary key cascade'; EXECUTE IMMEDIATE 'alter table bale_info ENABLE primary KEY'; END; 但是写在触发器里,当触发时就报错: ora-04092:cannot commit in a trigger 触发器: CREATE OR REPLACE TRIGGER tri_del_type BEFORE DELETE ON bale_type_info FOR EACH ROW DECLARE BEGIN EXECUTE IMMEDIATE 'alter table bale_info disable primary key cascade'; DELETE FROM bale_info t WHERE t.type_id=:old.type_id; EXECUTE IMMEDIATE 'alter table bale_info ENABLE primary KEY'; END;

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧