重新导入database后,编译Trigger出现Error: PLS-00553: 无法识别字符集名称,怎么解决?

sywen 2008-07-12 09:41:42
主要问题是当触发器带 :new或者 :old关键字时报错
查到过一个帖子,确实如其所说,
不过:因为数据太多,导出导入很麻烦!还有就是 表状态有问题,那什么叫表状态?能否通过什么语法修改表状态呢?

原帖如下
http://blog.csdn.net/jxc/archive/2006/12/06/1432009.aspx
偶然遇到PLS-00553: 无法识别字符集名称, 关于这个问题的解决方案大都是修改数据库字符集,但是该数据库字符集没有发现明显问题,如何处理?

这个错误是发生在创建触发器时, 当触发器带 :new或者 :old关键字时报错, 如果不带就没问题. 而且该表上以前建立的触发器是好的, 但是重新编译时也会报同样的错误.

经过多次努力发现,在相同的用户/表空间下建立的表上建立的触发器是可以的. 最终判定为该表状态有问题.

最终的解决方案是, 备份该表上的触发器语法, 备份表数据, 重建表, 恢复数据, 恢复触发器, 编译失效对象.
...全文
107 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sywen 2008-07-14
  • 打赏
  • 举报
回复
回楼上的所说,这个问题写触发器当然会考虑的啦!

请高手回答!
oracledbalgtu 2008-07-12
  • 打赏
  • 举报
回复
并不是所有的触发器都有:new或者:old的。
update有:new和:old,
delete有:old,没有:new,
insert有:new,没有:old.
如果引用不可用的:old或者:new就会报错啊!


[Quote=引用楼主 sywen 的帖子:]
主要问题是当触发器带 :new或者 :old关键字时报错
查到过一个帖子,确实如其所说,
不过:因为数据太多,导出导入很麻烦!还有就是 表状态有问题,那什么叫表状态?能否通过什么语法修改表状态呢?

原帖如下
http://blog.csdn.net/jxc/archive/2006/12/06/1432009.aspx
偶然遇到PLS-00553: 无法识别字符集名称, 关于这个问题的解决方案大都是修改数据库字符集,但是该数据库字符集没有发现明显问题,如何处理?

这个…
[/Quote]

17,086

社区成员

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

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