PL\SQL用户指南与参考11 转载 第十一章 本地动态SQL
9、避免死锁
有些情况下,执行SQL数据定义语句会导致死锁。例如,下面的过程就能引起死锁,因为它尝试着删除自身。为了避免死锁,就不要用ALTER或DROP来操作正在使用的子程序或包。
CREATE?PROCEDURE?calc_bonus?(emp_id?NUMBER)?ASBEGIN??...??EXECUTE?IMMEDIATE?'DROP?PROCEDURE?calc_bonus';