2

我正在尝试使用 ibexpert gui 在 firebird 2.5 上创建我的第一个程序。

该过程将返回属于特定“PROCESS_ID”的“PROCESS_DATE”。我准备了以下代码:

begin
  OUTPUT_DATE = (select PROCESS_DATE from PROCESSES
                 where PROCESS_ID = INPUT_ID);
  suspend;
end

输入参数:'INPUT_ID' --> 输入'INTEGER'
输出参数:'OUTPUT_DATE' --> 输入'DATE'

但是当我试图编译它返回这个错误:

Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
INPUT_ID.
At line 9, column 48.

我不知道如何处理这个错误。

我试图在互联网上找到其他问题的解决方案,但我找不到初学者可以理解的基本答案。感谢您的帮助。

4

1 回答 1

3

试试这个:

CREATE PROCEDURE MyP (INPUT_ID INTEGER)
  RETURNS (OUTPUT_DATE DATE)
AS 
BEGIN
  FOR
    SELECT PROCESS_DATE FROM PROCESSES
    WHERE PROCESS_ID = :INPUT_ID  
    INTO :OUTPUT_DATE
  DO
    SUSPEND;
END

始终在参数名称前加上“:”。唯一不允许使用“:”的地方是“=”运算符的左侧。

于 2012-10-15T11:43:07.123 回答