SQL工作笔记-达梦7存储过程中游标的使用(for循环 IF等)
生活随笔
收集整理的這篇文章主要介紹了
SQL工作笔记-达梦7存储过程中游标的使用(for循环 IF等)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
表如下:
如下存儲(chǔ)過(guò)程使用游標(biāo)遍歷所有數(shù)據(jù):
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;運(yùn)行截圖如下:
如果需要添加一個(gè)返回的結(jié)果集添加如下即可:
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;運(yùn)行截圖如下:
使用for循環(huán)進(jìn)行遍歷,運(yùn)行截圖如下
源碼如下:
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;一般獲取單條數(shù)據(jù)可以這樣做:
運(yùn)行截圖如下:
源碼如下:
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 '存在數(shù)據(jù)';elseselect '不存中數(shù)據(jù)';end if; END;?
總結(jié)
以上是生活随笔為你收集整理的SQL工作笔记-达梦7存储过程中游标的使用(for循环 IF等)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java笔记-解决WebServiceT
- 下一篇: Java笔记-Java中桥接模式