游标sql语句

declare
cursor emp_cursor (pno in number default 7369)
is select * from emp where empno=pno;

emp_row emp%rowtype;
begin
      open emp_cursor(7934);
      fetch emp_cursor into emp_row;
      dbms_output.put_line(emp_row.ename);

      close emp_cursor;
end;
/



declare
cursor emp_cursor (pno in number default 7369)
is select * from emp where empno=pno;

begin
  for emp_row in emp_cursor(7934) loop
   dbms_output.put_line(emp_row.ename);
  end loop;
end;
/




declare

type emp_cname is ref cursor return emp%rowtype;

ecname emp_cname;

emp_row emp%rowtype;

begin
    dbms_output.put_line('开始');
    open ecname for select * from emp;
    loop
     fetch ecname into emp_row;
     exit when ecname%notfound;
     dbms_output.put_line(emp_row.ename);
    end loop;
    close ecname;
  dbms_output.put_line('结束');
end;
/

//向emp表中添加一条记录
create procedure insert_emp as
begin
  insert into emp(empno,ename,job,mgr,sal,comm,deptno)
  values('7777','redarmy','teacher','7369',9000,1000,20);
  commit;
end insert_emp;


set serveroutput on;
begin
   insert_emp;
end;


create or replace procedure insert_emp as
begin
  insert into emp(empno,ename,job,mgr,sal,comm,deptno)
  values('7777','redarmy','teacher','7369',9000,1000,20);
  commit;
end insert_emp;



create or replace procedure insert_emp(
  cempno in number,
  cename in varchar2,
  cjob in varchar2,
  cmgr in number,
  chiredate in date,
  csal in number,
  ccomm in number,
  cdeptno in number
) as
begin
  insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)
  values(cempno,cename,cjob,cmgr,chiredate,csal,ccomm,cdeptno);
end insert_emp;



set serveroutput on;
begin
   insert_emp(cempno=>7377,cename=>'mjjj',cjob=>'stu',cmgr=>7777,chiredate=>to_date('2011-01-01','YYYY-MM-dd'),csal=>5000,ccomm=>1000,cdeptno=>20);
end;





set serveroutput on;
begin
   insert_emp(3333,'mjjj','stu',7777,to_date('2011-01-01','YYYY-MM-dd'),5000,1000,20);
end;






set serveroutput on;
begin
   insert_emp(9999,cename=>'mjjj',cjob=>'stu',cmgr=>7777,chiredate=>to_date('2011-01-01','YYYY-MM-dd'),csal=>5000,ccomm=>1000,cdeptno=>20);
end;















declare

 
begin
    dbms_output.put_line('开始');
   
    delete from emp where empno=7934;
  
   dbms_output.put_line('结束');
end;
/



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值