当前位置: 首页 > 面试题库 >

Informix:具有输出参数的过程?

朱梓
2023-03-14
问题内容

我进行了很多搜索,但找不到任何东西。.我只是想问一下是否有任何方法可以创建和调用不带参数的过程( Informix
)。我知道如何返回一个或多个值(用于过程和函数),但这不是我想要的。如果Informix不允许输出参数,那将真的很奇怪。

提前致谢!

编辑 :是的,我看到了可能,但是我仍然无法执行这样的过程。例如:

  CREATE PROCEDURE mytest(batch INT,OUT p_out INT)  
  DEFINE inc INTEGER;  
  LET inc = 1;  
  LET p_out = 5;  
  END PROCEDURE;

我收到的是:

常规mytest无法解决

并且仅在执行具有输出参数的功能时才会发生。


问题答案:

为什么需要“输出”参数?Informix过程可以通过单个调用返回多个值(或者,在这种情况下为单个值):

  CREATE PROCEDURE mytest(batch INT) RETURNING INT AS p_out;
      DEFINE inc INTEGER;
      DEFINE p_out INTEGER;
      LET inc = 1;
      LET p_out = batch + inc;
      RETURN p_out;
  END PROCEDURE;

在有限的地方可以使用OUThtml" target="_blank">参数。一个是在查询中-
有一个名称SLV(语句局部变量)出现在一些错误消息中。我相信也有一种通过Java(JDBC)获取OUT参数的方法。AFAIK,其他API不允许。

为Informix编写的代码假定它不需要输出参数。需要重新考虑从其他(贫困的?)系统迁移到Informix的代码,这些系统不能从单个过程提供多个输出值,因此需要与Informix明智地协同工作。



 类似资料:
  • 问题内容: 我有一个来自此(google book )的mysql存储过程,一个例子是这样的: 该程序编译正常。(我在ubuntu中使用MySQL查询浏览器)。 但是,当我调用该过程时: (也在查询浏览器中) 它返回一个错误: 为什么这个例子不起作用? 问题答案: 无法复制。对我来说效果很好: 也许您应该粘贴整个错误消息,而不是对其进行汇总。

  • 问题内容: 我在我的应用程序中收到一个错误,我不知道如何解决它。这是代码: 我收到的错误是与。它说 InvalidCastException无法将参数值从任务转换为字符串。 我认为这与我尝试放置位置有关(在if语句内部),但我不确定。任何帮助将非常感激。 谢谢, 马特 问题答案: 我的猜测是 t不是字符串吗?

  • 同事们,您能帮我用Hibernate4调用MSSQL2008存储过程,其中包含两个输入和两个输出参数吗?存储过程如下所示: 我正在尝试使用Session.CreateSQLQuery方法调用过程: 但也有一些不明朗的时刻: 如何注册多个输出参数? Session.CreateSQLQuery方法是否适合调用具有多个输出参数的存储过程? 更新 我有一个MS SQL过程 并具有映射文件: 运行应用程序

  • 问题内容: 我正在寻找一种方法来列出在Informix上运行的数据库中的所有存储过程。 数据库中是否有表格列出存储过程以及有关存储过程的详细信息? 问题答案: 就在这里。叫做。尝试此操作以查看所有内容:

  • 问题内容: 我有一个表单,用户可以指定各种参数来挖掘某些数据(状态,日期等)。 我可以产生一个查询: 等等。每一个都是可选的(我可以选择带有的所有行,或者带有的所有行,或者带有etc的所有行)。 给定大量参数(全部为可选参数),组成动态存储过程的最佳方法是什么? 我正在处理各种数据库,例如:MySQL,Oracle和SQLServer。 问题答案: 实现此目的的最简单方法之一: 等等。这完全消除了

  • 问题内容: 我正在使用Sql Server2008。我的存储过程接受将近150个参数。在性能方面有什么问题吗? 问题答案: 在性能上没有错,但是闻起来可以用动态SQL更好地完成。不看代码很难说。