SQL Server 中建立返回值為表的函式其中包括遊標的使用方法
CREATE FUNCTION GetOneLayGroupChild_li(@paraParentId as smalldatetime) --輸入引數
returns @tChildGroup table(cGroupId int, pGroupId int) --返回引數
AS
begin
declare @tParentId int,@tChildId int
--第一步.宣告一個名為Order_Cursor的遊標.遊標為一個行集。所以下面為一個select語句
declare Order_Cursor cursor
for select pkid,parentid from [group]
--第二步.開啟遊標,檢索資料並填充遊標
open Order_Cursor
--第三步.fetch會使遊標移到下一條記錄,並將遊標返回的每個列的資料分別賦值給本地變數。
--通常會使用while來反覆從遊標中獲取記錄行,直到遊標不再返回任何行為止。用@@fetch_status
--來確定是否還能夠從遊標中獲取行
fetch next from Order_Cursor into @tChildId,@tParentId
while @@fetch_status=0
begin
if (@tParentId = @paraParentId)
begin
insert into @tChildGroup(cGroupId,pGroupId)
values(@tChildId,@tParentId)
end --if
fetch next from Order_Cursor into @tChildId,@tParentId
end --while
--關閉遊標,釋放資料。但可以使用open命令再次開啟它
close Order_Cursor
--釋放遊標,釋放相關的記憶體,並刪除遊標的定義
deallocate Order_Cursor
return
end
******
注:在函式中不允許有修改資料庫中表的語句,如Insert,update
******
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22565551/viewspace-1027535/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL SERVER 遊標的使用SQLServer
- sql server 建立內聯表值函式SQLServer函式
- SQL server 表值函式 標量值函式 區別SQLServer函式
- SQL-Server中datepart函式的使用SQLServer函式
- SQL Server 2005遊標的行為變化導致的死鎖問題SQLServer
- SqlServer遊標的建立與使用SQLServer
- 一個SQL Server中的FormatDatetime函式SQLServerORM函式
- SQL Server建立使用者函式與應用SQLServer函式
- Sql server 2005遷移至Oracle系列之三:在Oracle中建立sql中的常見函式SQLServerOracle函式
- Sql Server 日期函式SQLServer函式
- SQL SERVER 字串函式SQLServer字串函式
- 簡單介紹SQL中ISNULL函式使用方法SQLNull函式
- SQL Server中row_number函式的常見用法SQLServer函式
- SQL Server常用函式整理SQLServer函式
- Sql Server系列:字串函式SQLServer字串函式
- Sql Server系列:聚合函式SQLServer函式
- Sql Server系列:排序函式SQLServer排序函式
- Sql server 分割符函式SQLServer函式
- SQL SERVER 數學函式SQLServer函式
- SQL SERVER 系統函式SQLServer函式
- SQL SERVER 自定義函式SQLServer函式
- SQL Server函式總結SQLServer函式
- SQL Server CONVERT() 函式SQLServer函式
- 【函式】Oracle中聚合函式rank()使用方法函式Oracle
- Sql Server函式全解(1):字串函式SQLServer函式字串
- Sql Server函式全解(一)字串函式SQLServer函式字串
- 函式的返回值函式
- SQL Server最佳化標量函式改寫內聯表值函式SQLServer函式
- Java script 中的函式使用方法Java函式
- Django中 render() 函式的使用方法Django函式
- js中split函式的使用方法JS函式
- MS SQL Server 建立返回表型別的使用者自定義函式SQLServer型別函式
- SQL Server CE和SQL Server 2000/2005中的ISNULL函式的異同SQLServerNull函式
- SQL server 中的臨時表SQLServer
- Sql Server函式全解(2):數學函式SQLServer函式
- Sql Server函式全解(5):系統函式SQLServer函式
- oracle中rownum,sql server中top函式,mysql中limit[轉載]OracleServer函式MySqlMIT
- 函式的祕密之 函式返回值函式