在存储过程中添加两个输入参数

时间:2017-06-14 07:05:44

标签: oracle stored-procedures

使用存储过程添加两个输入数

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

2 个答案:

答案 0 :(得分: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 

答案 1 :(得分: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;
/