2017-06-14 100 views
1

添加兩個輸入參數使用存儲的過程在存儲過程

create or replace procedure add 
(num1 in int,num2 in int)is 
begin 
declare output int; 
set output:=num1 + num2 
dbms_output.enable(); 
dbms_output.put_line(output); 
end add; 

我需要添加兩個inpuut參數

begin; 
add(5,5) 
end; 

結果增加兩個輸入數:

10 

我有拿出這個代碼在編譯過程中出錯的問題

我正在使用Oracle 10g

回答

6
SET SERVEROUTPUT ON; 

CREATE OR REPLACE PROCEDURE ADD_TWO_INPUT (N1 IN NUMBER,N2 IN NUMBER) 
IS 
ADD_RESULT NUMBER; 
BEGIN 
ADD_RESULT := N1 + N2; 
Dbms_Output.PUT_LINE(ADD_RESULT); 
END; 
/


EXECUTE ADD_TWO_INPUT(1,2); 

輸出: -

3 
+0

謝謝@s_sauden –

2
  • 它看起來add保留:這是不可能使用它作爲一個程序的名字
  • 你不需要這個set東西,declare一定要去太:

create or replace procedure add_ (num1 in int,num2 in int) is 
    output int; 
begin 
    output:=num1 + num2 ; 
    dbms_output.enable(); 
    dbms_output.put_line(output); 
end add_; 
/

那麼如何稱呼它:

exec add_(5,5) 

或(不要忘記在sqlplus;/

begin; 
    add(5,5); 
end; 
/
+0

改變過程名稱現在在第4行中遇到的誤符號「= 「@ j.chomel –