2017-02-10 10 views
1

私は以下のようにしました。SET文字列値からスカラー変数へHSQLDB

CREATE PROCEDURE GetHs(IN FRVDate TIMESTAMP, IN TRVDate TIMESTAMP, IN RESValue NUMERIC(19,2), 
RangeType VARCHAR(20), HRID VARCHAR(36)) 
READS SQL DATA 
    DYNAMIC RESULT SETS 1 
     BEGIN ATOMIC 
      DECLARE TABLE myList(MValue NUMERIC(19,2), Price NUMERIC(19,2), FRVDate TIMESTAMP,TRVDate TIMESTAMP); 
      DECLARE Counter INT; 
      DECLARE dateDifference NUMERIC(19,2); 
      DECLARE for_day,for_week VARCHAR(20); 

      SET for_day = 'DAY'; 
      SET for_week = 'WEEK'; 

       IF RangeType = for_day THEN 
        BEGIN ATOMIC 
        ----statements---- 
        END 
        ELSEIF RangeType = for_week THEN 
        BEGIN ATOMIC 
        ----statements---- 
        END 
       END IF 
       SELECT MValue,Price,FRVDate,TRVDate FROM myList 
     END 

user lacks privilege or object not found: DAYというエラーが発生します。 Declaredスカラー変数に値を設定できないのですか?

ドキュメントでは、この形式で使用するように指示されています。 DOCから;

BEGIN ATOMIC 
DECLARE temp_zero DATE; 
DECLARE temp_one, temp_two INTEGER DEFAULT 2; 
DECLARE temp_three VARCHAR(20) DEFAULT 'no name'; 
-- more statements ... 
SET temp_zero = DATE '2010-03-18'; 
SET temp_two = 5; 
-- more statements ... 
END 

ここで私は間違っていますか?

注:最近学習HSQLを開始し、

+0

残念ですが、コピー貼り付けエラーです。今修正されました。 – Raj

+0

学習のために最新のHSQLDBスナップショットバージョンを使用してください。それは手続きのサポートを改善しました。 – fredt

+0

@fredt:これ以上のエラーは試されませんでした。ありがとう!私は解決された問題をマークすることができますので、この回答を投稿してください。 – Raj

答えて

1

この問題はバージョン2.3.3を使用するには、最新のHSQLDBコードで修正されています。次のバージョン2.4.0はそれをサポートしています。次のバージョンのスナップショットは現在http://hsqldb.org/supportにあります。

関連する問題