ITPub博客

首页 > Linux操作系统 > Linux操作系统 > pl/sql编程基础

pl/sql编程基础

原创 Linux操作系统 作者:sky850623 时间:2013-06-02 13:01:31 0 删除 编辑
1.存储一行一列
 declare
 v_sum number(4);
 begin
 select count(*) into v_sum from emp;  --结果返回一个值,只需使用一个变量
 dbms_output.put_line(v_sum);
 end;
 /
2.存储一行多列
a. 使用多个变量存储一行
declare
v_sal number(5);
v_ename varchar(20);
begin
select ename,sal into v_ename,v_sal from emp where empno=7369; --限定返回一行
dbms_output.put_line(v_ename||','||v_sal);
end;
b.使用%rowtype
declare
r_emp emp%rowtype;
begin
select * into r_emp from emp where empno=7369;
dbms_output.put_line(r_emp.ename);
dbms_output.put_line(r_emp.sal);
end;
 
c.记录类型
declare
type r is record(
sal number(5),
ename varchar(10)
);
emp_record r;
begin
select sal,ename into emp_record from emp where empno=7369;
dbms_output.put_line(emp_record.sal);
dbms_output.put_line(emp_record.ename);
end;
 
3.存储多行
  使用游标
3.1隐式游标
3.2显示游标
  步聚:声明游标-->打开游标-->检索数据-->关闭游标
a.使用带参数游标,把部门号是10的所有员工信息打印出来
declare
cursor cursor_emp(v_deptno in number:=20)
is select * from emp
where deptno=v_deptno;
emp_record emp%rowtype;
begin
open cursor_emp(10);
loop
fetch cursor_emp into emp_record;
exit when cursor_emp%notfound;
dbms_output.put(emp_record.ename||',');
dbms_output.put_line(emp_record.sal);
end loop;
close cursor_emp;
end;
b.游标for循环
使用for循环依次读取结果集中的行数据
 declare
 cursor cursor_emp is
 select * from emp where deptno=10;
 begin
 for r in cursor_emp loop
 dbms_output.put_line(r.ename);
 dbms_output.put_line(r.sal);
 end loop;
 end;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26937943/viewspace-762748/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: sqlplus(一)
请登录后发表评论 登录
全部评论

注册时间:2013-05-30

  • 博文量
    154
  • 访问量
    515360