Oracle Pl/sql执行过程
我对PL/SQL一无所知Oracle Pl/sql执行过程,oracle,plsql,Oracle,Plsql,我对PL/SQL一无所知 create or replace procedure p1(a in customer.id%type, b out customer.name%type, c out customer.dept%type) is begin select name,dept into b,c from customer where id=a; end; 它的创建是正确的。 但我不知道如何执行它。 执行官p1(1); 但这显示了错误。执行过程有两种方法 DECLARE
create or replace procedure p1(a in customer.id%type,
b out customer.name%type,
c out customer.dept%type)
is
begin
select name,dept into b,c from customer where id=a;
end;
它的创建是正确的。
但我不知道如何执行它。
执行官p1(1);
但这显示了错误。执行过程有两种方法
DECLARE
l_id customer.id%type := 1;
l_name customer.name%type;
l_dept customer.dept%type;
BEGIN
p1( l_id, l_name, l_dept );
<<do something with l_name and l_dept>>
END;
/
该过程有3个参数,不能像调用p1(1)那样只使用一个参数 在你的情况下,试试这样
DECLARE
p_name customer.name%type;
p_department customer.dept%type;
BEGIN
p1(1, p_name, p_department);
END;
您的过程有三个参数,因此需要使用三个参数调用它。在
OUT
参数的情况下,需要传入变量,这些变量将保存过程返回的值
DECLARE
l_id customer.id%type := 1;
l_name customer.name%type;
l_dept customer.dept%type;
BEGIN
p1( l_id, l_name, l_dept );
<<do something with l_name and l_dept>>
END;
/
声明
l_id客户。id%类型:=1;
l_name客户。name%类型;
l_部门客户。部门%类型;
开始
p1(后勤id、后勤名称、后勤部门);
结束;
/
输出参数应存储在变量中。
输入,可以是变量,也可以直接在()
使用dbms_output.put_行可以轻松地在IDE中显示输出
DECLARE
p_name customer.name%type;
p_department customer.dept%type;
p_id customer.id%type := 1;
BEGIN
p1(p_id, p_name, p_department);
END;
错误是什么?你在哪里执行它?这个过程有3个参数,你不能用p1(1)(1个参数)调用它