WEB开发网
开发学院数据库Oracle 从概念到示例—Oracle中操作存储过程 阅读

从概念到示例—Oracle中操作存储过程

 2009-04-11 13:13:23 来源:WEB开发网   
核心提示: 综合示例:带输入,输出,从概念到示例—Oracle中操作存储过程(3),输入输出参数的练习1create or replace Procedure RunByParameters2( 3 iSal in emp.sal%type, --输入指定工资4 sname out varchar,

综合示例:带输入,输出,输入输出参数的练习

 1create or replace Procedure RunByParameters
 2(
 3   iSal  in emp.sal%type,  --输入指定工资
 4   sname out varchar,     --输出查询结果:姓名 注意数据类型没有精度,确保能够存储值
 5   sjob in out varchar     --若作为输出时,
 6)
 7as
 8  iCount number;  --变量声明,用于记录查询到符合条件的记录数目
 9Begin
10   select count(*) into iCount from emp where sal>iSal and job=sjob;  --使用输入参数
11   if iCount=1 then
12    select ename into sname from emp where sal>isal and job=sjob; --根据两个输入参数把结果输出
13      sname:='姓名为:'||sname||'的职工:'||to_char(iSal);  --输出sname
14     sjob:='工作为:'||sjob;                              --输出sjob
15   else
16     sname:='没查到工资为:'||to_char(iSal);              --输出sname
17     sjob:='工作为:'||sjob||'  的记录!';                 --输出sjob
18   end if;
19Exception
20   when too_many_rows then
21     DBMS_output.put_line('返回值多余一行!');
22   when others then
23     DBMS_output.put_line('在RunByParameters过程执行时出现意外情况!');
24End;
25
26调用
27declare
28  realSal emp.Sal%type;
29  realName varchar(40);
30  realJob varchar(40);
31Begin
32  realSal:=1100;
33  realName:='';
34  realJob:='CLERK';
35 /**//*第一次调用*/
36  RunByParameters(realSal,realName,realJob);
37  DBMS_output.put_line(realName||' '||realJob);
38 /**//*第二次调用*/
39  realJob:='MANAGER';
40  RunByParameters(2900,realName,realJob);
41  DBMS_output.put_line(realName||' '||realJob);
42 /**//*第三次调用*/
43  RunByParameters(isal=>realSal,sName=>realname,sjob=>realjob);
44   DBMS_output.put_line('带联合符号'||realName||''||realJob);
45end;
46/
47

上一页  1 2 3 

Tags:概念 Oracle 操作

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接