欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

SQL工作笔记-达梦7存储过程中游标的使用(for循环 IF等)

发布时间:2025/3/15 数据库 78 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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等)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。