我有一个 sql 脚本文件,用于安装表、触发器、序列,最后是一个包。该包使用由 sql 脚本文件创建的表。程序包被指定在应用程序中发生事件时运行,即程序包在应用程序触发器被触发时运行。
该软件包所做的只是将批量选择插入到临时表中。这就是它所做的一切。
现在,问题是当我第一次进行全新安装时,程序包被触发并运行,但不会将数据插入临时表。但是,当下一个事件发生时,会触发包并将数据插入到暂存稳定器中并继续正常运行。所以最初我认为这可能是一个初始化错误。
但是,当我删除由 sql 脚本文件(包括包)创建的所有对象并重新运行 sql 脚本文件时,当第一个事件本身发生并继续正常运行时,包工作得很好。
所以这不可能是初始化错误。
但是再一次(只是因为我失去了理智)我放弃了所有内容并重新运行脚本文件,我发现我第一次注意到的行为相同。然后我再次删除所有内容并重新运行脚本文件,它第一次工作得很好。
我不知道为什么它会交替工作,这太奇怪了。