从概念到示例—Oracle中操作存储过程
2009-04-11 13:13:23 来源:WEB开发网 begin
xiaojiujiu;
end;
示例1:打印乘法表
1Code
2 Create or replace Procedure PrintJiujiu AS
3 i integer;
4 j integer;
5 Begin
6 DBMS_output.put_line('打印九九乘法表');
7 for i in 1..9 loop
8 for j in 1..9 loop
9 if i>=j then
10 DBMS_output.put(To_Char(j)||'*'||to_char(i)||'='||to_char(i*j)|' ');
11 end if;
12 end loop;
13 DBMS_output.put_line('');
14 end loop;
15end;
16--调用:
17 execute PrintJiujiu ;
18--或者
19begin
20 PrintJiujiu ; --注意没有exec了哦;
21end;
22
示例2:根据员工编号显示出对应职工的姓名
Create or replace Procedure QueryEmpName(sFindNo emp.empNo%type) as
sName emp.ename%type;
sJob emp.job%type;
Begin
select ename,job into sName,sJob from emp where EmpNo=sFindNo;
DBMS_output.put_line('编号为'||sFindNo||'的职工姓名为:'||sName||'工作为:'||sjob);
Exception
when No_data_found then
DBMS_output.put_line('没有符合条件的记录!');
when Too_many_rows then
DBMS_output.put_line('返回值多余一条记录!');
when Others then
DBMS_output.put_line('执行存储过程时发生意外错误!');
End;
更多精彩
赞助商链接