15.5.4 定义可更新游标的示例.sql
来自「很好的sql 文档,可能邦你成为sql 高手」· SQL 代码 · 共 31 行
SQL
31 行
CREATE TABLE #(id int,a int)
INSERT # SELECT 1,1
UNION ALL SELECT 2,2
UNION ALL SELECT 3,2
--索引或者约束
--ALTER TABLE # ADD UNIQUE(id) --惟一键(约束),提供RID书签
--CREATE INDEX IDX_a ON #(a) --a列上的普通索引,可以提供RID书签
--CREATE CLUSTERED INDEX IDX_id_1 ON #(id) --id列上的聚集索引,可以提供群集键书签
--CREATE INDEX IDX_id_2 ON #(id) --id列上的普通索引,游标的定义语句无法使用该索引提
供的RID书签
--CREATE INDEX IDX_a_id ON #(a,id) --a列和id列的上普通索引,可以提供RID书签
--游标处理
DECLARE tb CURSOR LOCAL
FOR
SELECT id FROM # ORDER BY a
DECLARE @id int
OPEN tb
FETCH tb INTO @id
WHILE @@FETCH_STATUS>=0
BEGIN
UPDATE # SET a=a-@id/2
WHERE CURRENT OF tb
FETCH tb INTO @id
END
CLOSE tb
DEALLOCATE tb
SELECT * FROM #
DROP TABLE #
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?