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開發人員拋出2個錯誤:

PLS-00103:遇到下列其中一項時遇到符號「TEST_RESULT」::=。 (@%;非零範圍默認字符符號「。」代替「TEST_RESULT」繼續

PLS-00103:遇到以下符號之一時出現符號「END」:begin function pragma procedure subtype type當前光標刪除存在之前

Stored_function1是用戶定義的,4個參數,並且不屬於任何包,在哪裏我做錯了,我如何改正呢?謝謝。

+0

@techspider我認爲這是SQL Server的 –

回答

3

沒有看到更多的它很難說,但是在你的程序中似乎有一些語法錯誤。不需要DECLARE, e在第55行末尾應該是一個分號,至少在第56行之前應該是一個BEGIN

這是一個基本框架:

Create or replace procedure my_procedure as 
    test_result number; 
BEGIN 
    test_result := Stored_function1(startdate, enddate, 11, 13); 
END; 
+0

在OP評論錯別字,而且有'begin'和'結束;' –

+0

所以'test_result'就像一個你的答案中的局部變量? –

+0

@Dylan Chen是的 –