随笔-124  评论-49  文章-56  trackbacks-0
--SQL游标
--
游标:是指向上下文区的指针
/*
  1 隐含游标
    隐含游标又称SQL游标,专门用于处理SELECT INTO,INSERT,UPDATE及DELETE语句,当在PL/SQL中执行
    INSERT,UPDATE及DELETE时,为取得DML语句作用的结果,必须要使用SQL游标属性,SQL游标包括sql%found,
    sql%notfound,sql%rowcount,sql%isopen四个属性。
    (1)sql%isopen 用日元确定SQL游标是否已经打开,当执行SELECT INTO,INSERT,UPDATE及DELETE语句时会隐
         含打开游标,并且在执行完成后隐含关闭游标。所以对于开发人员该属性永远为false,不需要使用该属性。
    (2)sql%found/sql%notfound 用于确定SQL语句执行是否成功。
         SQL语句执行是否成功根据是否有作用来判断,当SQL语句有作用时,sql%found属性值为TRUE(sql%notfound属性值为FALSE);否则反之。
*/

         
declare
           v_name user_info.name
%type := 'junly';
         
begin
           
update user_info set money = money*1.1
           
where name=v_name;
           
if sql%found then
             dbms_output.put_line(
'语句执行成功');
           
else
             dbms_output.put_line(
'用户名不存在');
           
end if;
         
end;
--   (3)sql%rowcount 返回SQL语句作用的总计行数
         declare
           v_name user_info.name
%type := 'junly';
         
begin
           
update user_info set money = money*1.1
           
where name=v_name;
           dbms_output.put_line(
'修改了'||sql%rowcount||'');
         
end;
/*2 显式游标
       用于处理SELECT语句
*/
posted on 2010-07-29 17:13 junly 阅读(345) 评论(0)  编辑  收藏 所属分类: oracle/mysql/sql

只有注册用户登录后才能发表评论。


网站导航: