怎么使用PostgreSQL游标
这篇文章主要介绍“怎么使用PostgreSQL游标”,在日常操作中,相信很多人在怎么使用PostgreSQL游标问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用PostgreSQL游标”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、说明游标字面理解就是游动的光标。
用数据库语言来描述:游标是映射在结果集中一行数据上的位置实体,有了游标用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等等。
二、分类显式游标
用CURSOR...IS 命令定义的游标,它可以对查询语句(SELECT)返回的多条记录进行处理。
隐式游标
是在执行插入(INSERT)、删除(DELETE)、修改(UPDATE)和返回单条记录的查询(SELECT)语句时有PL/SQL自动定义的。
三、属性Oracle 游标有4个属性: %ISOPEN , %FOUND , %NOTFOUND, %ROWCOUNT
%ISOPEN 判断游标是否被打开,如果打开%ISOPEN 等于true,否则等于false
%FOUND %NOTFOUND 判断游标所在的行是否有效,如果有效,则%FOUNDD等于true,否则等于false
%ROWCOUNT 返回当前位置为止游标读取的记录行数。
四、使用声明游标
CURSOR emp_info(vartype number) is select * from emp;
打开游标
open emp_info;
读取游标
fetch mycur into varno,varprice;
关闭游标
close emp_info;
五、显示游标遍历方法一
DECLAREV_EMP_INFOEMP%ROWTYPE;CURSOREMP_INFOISSELECT*FROMEMP;--1、声明游标BEGINOPENEMP_INFO;--2、打开游标,传递参数值LOOPFETCHEMP_INFOINTOV_EMP_INFO;--3、提取游标fetchintoIFEMP_INFO%FOUNDTHENDBMS_OUTPUT.PUT_LINE(V_EMP_INFO.ENAME||'的雇佣日期是'||V_EMP_INFO.HIREDATE);ELSEDBMS_OUTPUT.PUT_LINE('已经处理完结果集了');EXIT;ENDIF;ENDLOOP;CLOSEEMP_INFO;--4、关闭游标END;
方法二
DECLAREV_EMP_INFOEMP%ROWTYPE;CURSOREMP_INFOISSELECT*FROMEMP;--1、声明游标BEGINOPENEMP_INFO;--2、打开游标,传递参数值LOOPFETCHEMP_INFOINTOV_EMP_INFO;--3、提取游标fetchintoEXITWHENEMP_INFO%NOTFOUND;DBMS_OUTPUT.PUT_LINE(V_EMP_INFO.ENAME||'的雇佣日期是'||V_EMP_INFO.HIREDATE);ENDLOOP;DBMS_OUTPUT.PUT_LINE('已经处理完结果集了');CLOSEEMP_INFO;--4、关闭游标END;/
方法三
DECLAREV_EMP_INFOEMP%ROWTYPE;CURSOREMP_INFOISSELECT*FROMEMP;--1、声明游标BEGINFORV_EMP_INFOINEMP_INFOLOOPDBMS_OUTPUT.PUT_LINE(V_EMP_INFO.ENAME||'的雇佣日期是'||V_EMP_INFO.HIREDATE);ENDLOOP;DBMS_OUTPUT.PUT_LINE('已经处理完结果集了');END;/六、隐式游标处理
DECLAREV_EMP_INFOEMP%ROWTYPE;BEGINSELECT*INTOV_EMP_INFOFROMEMPWHEREename='SMITH';IFSQL%FOUNDTHENDBMS_OUTPUT.PUT_LINE(V_EMP_INFO.ENAME||'的雇佣日期是'||V_EMP_INFO.HIREDATE);ENDIF;DBMS_OUTPUT.PUT_LINE('已经处理完结果集了');END;/
到此,关于“怎么使用PostgreSQL游标”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。