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 に答える