TSQL Cursor

如何在資料庫中使用資料庫內的資料去做相對應的處理呢?
可以使用Cursor有點類似FOR迴圈,把查詢到的資料全部列出來做你想要的處理

詳細版註解
-- 定義Cursor
DECLARE @SampleCursor CURSOR;
-- 名稱
DECLARE @Name nvarchar(10);
-- 日期
DECLARE @Date datetime2;
-- 設定Cursor內容
SET @SampleCursor = CURSOR FAST_FORWARD FOR
SELECT
Name = N'Wang',
Date = GETDATE()
-- 開啟Cursor
OPEN @SampleCursor
-- 讀取Cursor
FETCH NEXT FROM @SampleCursor
INTO @Name,@Date
WHILE @@FETCH_STATUS = 0
BEGIN
-- do some thing
PRINT '@Name'
PRINT @Name PRINT '@Date'
PRINT @Date
-- 取下一列的資料
FETCH NEXT FROM @SampleCursor
INTO @Name,@Date
END
-- 關閉Cursor
CLOSE @SampleCursor
DEALLOCATE @SampleCursor
簡易版註解
-- 定義Cursor
DECLARE @SampleCursor CURSOR;
-- 名稱
DECLARE @Name nvarchar(10);
-- 日期
DECLARE @Date datetime2;

SET @SampleCursor = CURSOR FAST_FORWARD FOR
SELECT
Name = N'Wang',
Date = GETDATE()

OPEN @SampleCursor
FETCH NEXT FROM @SampleCursor
INTO @Name,@Date
WHILE @@FETCH_STATUS = 0
BEGIN
-- do some thing
PRINT '@Name'
PRINT @Name PRINT '@Date'
PRINT @Date
-- 取下一列的資料
FETCH NEXT FROM @SampleCursor
INTO @Name,@Date
END
-- 關閉Cursor
CLOSE @SampleCursor
DEALLOCATE @SampleCursor 

留言

這個網誌中的熱門文章

[java]BIG5 字集判斷

[java]半型轉全型

[javascript]當月第一天、當月最後一天