【问题标题】:Informix stored procedureInformix 存储过程
【发布时间】:2012-07-28 09:15:31
【问题描述】:

在Informix中创建存储过程时,即使相关表不存在也不会报错..

我猜报告级别相当高,我该如何更改?

【问题讨论】:

    标签: stored-procedures informix


    【解决方案1】:

    这就是 Informix 设计的工作方式。

    如果在您运行该过程时,该表仍然不存在,那么您将获得或多或少适当的运行时错误。但是,在创建过程时表不存在这一事实是故意不被视为错误的。该表可能会在使用过程时创建。

    据我所知,没有任何设置可以改变这种行为。

    【讨论】:

    • 嘿..thx 回复..但是在开发和生产环境中创建相同的过程时,其行为不同..在开发上没有抛出错误,但在生产上抛出错误..(错误是591 ..列的默认状态)..有什么想法吗?同样,当我为不存在的表执行“table_name 的信息列”时,在 dev 上我得到空白 column_type ...作为没有任何错误的响应,但在 prod 我得到正确的错误消息,说 table_name 不存在
    • look slike 11_70 onwardally 在创建 procs 时对表名进行了一些验证。
    • 我不相信任何表名验证都是可能的。在 Informix 中,在过程中删除和创建临时表是很常见的。这是完全有效的。当数据库解析过程并遇到未知的表名时,它不能引发异常,因为该表可能是在几行之前创建的。表创建块可以放置在条件块中,甚至可以放在循环中,这使得静态分析成为不可能。
    猜你喜欢
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多