SQL工作笔记-达梦7存储过程中游标的使用(for循环 IF等)
生活随笔
收集整理的这篇文章主要介绍了
SQL工作笔记-达梦7存储过程中游标的使用(for循环 IF等)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
表如下:
如下存储过程使用游标遍历所有数据:
CREATE OR REPLACE PROCEDURE "CFFTEST"."SELECT_STUDENT"("id" IN INT)ASmyId int;myName varchar(50);cursor myCursor is select id, name from cfftest.student; BEGINopen myCursor;loopfetch myCursor into myId, myName;exit when myCursor%notfound;print 'id: ' || myId || ' name' || myName;end loop;close myCursor; END;运行截图如下:
如果需要添加一个返回的结果集添加如下即可:
Select ‘ok’;
CREATE OR REPLACE PROCEDURE "CFFTEST"."SELECT_STUDENT"("id" IN INT)ASmyId int;myName varchar(50);cursor myCursor is select id, name from cfftest.student; BEGINopen myCursor;loopfetch myCursor into myId, myName;exit when myCursor%notfound;print 'id: ' || myId || ' name' || myName;end loop;close myCursor;select 'ok'; END;运行截图如下:
使用for循环进行遍历,运行截图如下
源码如下:
CREATE OR REPLACE PROCEDURE "CFFTEST"."SELECT_STUDENT"("id" IN INT)ASBEGINfor recordOne in (select id, name from cfftest.student) loopprint recordOne.id || ' ' || recordOne.name;end loop;select 'ok'; END;一般获取单条数据可以这样做:
运行截图如下:
源码如下:
CREATE OR REPLACE PROCEDURE "CFFTEST"."SELECT_STUDENT"("id" IN INT)ASmyname varchar(50); BEGINselect name into myname from cfftest.student where id="id";print 'name is ' || myname; END;这里还可以增加if等功能
源码如下:
CREATE OR REPLACE PROCEDURE "CFFTEST"."SELECT_STUDENT"("id" IN INT)ASmyCount int; BEGINselect count(*) into myCount from cfftest.student where id="id";if myCount > 0 thenselect '存在数据';elseselect '不存中数据';end if; END;
总结
以上是生活随笔为你收集整理的SQL工作笔记-达梦7存储过程中游标的使用(for循环 IF等)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java笔记-解决WebServiceT
- 下一篇: Qt笔记-多线程检索数据库(单例多重锁,