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
留言
張貼留言