1

ストアド プロシージャでこれを行うと、次のようになります。

   create procedure Proc1(
       startdate IN TIMESTAMP,
       ENDDATE IN TIMESTAMP
   )
   declare test_result number --line 55
    test_result:=Stored_function1(startdate,enddate,11,13); --line 56
END;

SQL Developer は 2 つのエラーをスローします。

PLS-00103: 次のいずれかを予期しているときに、記号"TEST_RESULT"が検出されました: := 。( @ % ; not null range デフォルト文字 記号「.」が「TEST_RESULT」に置き換えられて続行されました。

PLS-00103: 次のいずれかを予期しているときに、記号"END"が検出されました: begin function pragma procedure subtype type current cursor delete exists before

Stored_function1ユーザー定義で、4 つのパラメーターを取り、どのパッケージにも属していません。どこが間違っていて、どうすれば修正できますか? ありがとう。

4

1 に答える 1

3

これ以上見ないとわかりませんが、手順に構文エラーがあるようです。いいえ、必要ありません。少なくともDECLARE、55 行目の最後と 56 行目の前にセミコロンが必要です。BEGIN

基本的なスケルトンは次のとおりです。

Create or replace procedure my_procedure as
  test_result number;
BEGIN
  test_result := Stored_function1(startdate, enddate, 11, 13); 
END;
于 2016-01-08T21:17:46.390 に答える