存储过程 查询

来源:百度知道 编辑:UC知道 时间:2024/06/25 22:08:49
请问我要写一个存储过程,里面要查几个表 请问怎么写?
怎么调用?
我用的是oracle
语句

第七章 存储过程(Procedure)和包(Package)

SQLServer - 存储过程 (output参数 return)
Oracle -存储过程(out参数) 函数(return)

--1.存储过程
create or replace procedure print(msg varchar2)
is
begin
dbms_output.put_line(msg);
end;

--1.1 调用存储过程
execute print('helloworld');

--1.2
create or replace procedure findEmp(p_empno emp.empno%type)
is
v_ename emp.ename%type;
begin
select ename into v_ename
from emp where empno=p_empno;

print(v_ename);
exception
when no_data_found then
print('未发现指定员工.');
end;

--1.3 传递参数
create or replace procedure myabs(p_num1 IN number,p_num2 OUT number)
is
begin
if p_num1 >0 then
p_num2 := p_num1;
else
p_num2 := (0 - p_num1);
end if;
end;

--调用
declare
v_result number;
begin
myabs(-987,v_result);
print(v_result)