四时宝库

程序员的知识宝库

SQL Server游标的简单使用(sql server游标的作用)

昨天整理的文章《SQL Server获取数据库下所有的表名和字段名》提到如何查出数据库中所有的表名及各个表的字段名,文章最后也提到了如果今天有空了再整理一篇游标的简单使用。

微软官方文档 Cursors (SQL Server) - SQL Server | Microsoft Learn 中有比较详细的介绍,包括什么是游标,游标的使用场景,游标的类型以及游标的语法 DECLARE CURSOR (Transact-SQL) - SQL Server | Microsoft Learn

游标的功能不简单,我平时工作中并没有使用多复杂,下面这段脚本就是利用游标结合前两天的文章(1.给表和字段添加说明属性MS_Description && 2.SQL Server获取数据库下所有的表名和字段名 )给表中所有字段添加说明属性

DECLARE @column_id INT;

DECLARE @column_name NVARCHAR(MAX)

DECLARE InitColumnDescription CURSOR FOR

SELECT name,

column_id

FROM sys.columns

WHERE object_id = @tableId;

OPEN InitColumnDescription;

FETCH NEXT FROM InitColumnDescription

INTO @column_name,

@column_id;

WHILE @@FETCH_STATUS = 0

BEGIN

IF NOT EXISTS

(

SELECT *

FROM sys.extended_properties e

WHERE @tableId = e.major_id

AND @column_id = e.minor_id

)

BEGIN

EXECUTE sp_addextendedproperty N''MS_Description'',

'''',

N''SCHEMA'',

@schema,

N''TABLE'',

@tableName,

N''COLUMN'',

@column_name;

END;

FETCH NEXT FROM InitColumnDescription

INTO @column_name,

@column_id;

END;

CLOSE InitColumnDescription;

DEALLOCATE InitColumnDescription;


补充说明一下,我这篇文章只针对SQL Server,所有自己写的文章主要也是为了自己做一下记录,方便以后需要时查找使用,同时也可以分享给需要的同行参考。如有不妥,或更好的方法,望不吝赐教,友好探讨,轻拍。未特别标明转载均为本人原创整理,码字不易,转载或引用时希望可以标明出处,谢谢。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接