SQL Server中搜索特定的对象


Posted in SQL Server onMay 25, 2022

检索数据库架构信息 - ADO.NET | Microsoft 官方文档

将系统表映射到系统视图 (Transact-sql) - SQL Server | Microsoft 官方文档

一、注释中带某关键字的对象(sys.extended_properties)

主要用到 sys.tables 、sys.columns 、sys.procedures  系统对象表以及sys.extended_properties 扩展属性表

--查询列
SELECT  A.name AS table_name ,
         B.name AS column_name ,
         C.value AS column_description
FROM    sys.tables A
         INNER JOIN sys.columns B ON B.object_id = A.object_id
         LEFT JOIN sys.extended_properties C ON C.major_id = B.object_id
                                                AND C.minor_id = B.column_id
 WHERE   CAST(C.[value] AS VARCHAR(1000)) LIKE '%年假%';


--查询表
SELECT  A.name AS table_name ,
         C.value AS column_description
 FROM    sys.tables A
         INNER JOIN sys.extended_properties C ON C.major_id = A.object_id
                                                AND C.minor_id = 0
 WHERE   CAST(C.[value] AS VARCHAR(1000)) LIKE '%请假%'

--查询存储过程
SELECT  A.name AS table_name ,
         C.value AS column_description
 FROM    sys.procedures A
         INNER JOIN sys.extended_properties C ON C.major_id = A.object_id
                                                AND C.minor_id = 0
 WHERE   CAST(C.[value] AS VARCHAR(1000)) LIKE '%年假%'

二、定义语句中带某关键字的对象(sys.all_sql_modules )

主要用到 dbo.sysobjects 系统对象表以及sys.all_sql_modules 对象定义语句表

--老方式
SELECT   DISTINCT b.name, b.xtype
FROM     dbo.syscomments a, dbo.sysobjects b
WHERE    a.id = b.id
         AND b.xtype = 'p'
         AND a.text LIKE '%LotMax%'
ORDER BY name;

--从 2008 开始,新方式
SELECT   name, type_desc
FROM     sys.all_sql_modules s
         INNER JOIN sys.all_objects o ON s.object_id = o.object_id
WHERE    definition LIKE '%LotMax%'
ORDER BY type_desc, name;

三、查找列名

select   A.name as table_name, B.name as column_name
from     sys.tables A
         inner join sys.columns B on B.object_id = A.object_id
where    B.name like '%File%' 
order by A.name, B.name;

 完整的列属性:

with indexCTE
as ( select ic.column_id, ic.index_column_id, ic.object_id
     from   ZSOtherData.sys.indexes idx
            inner join ZSOtherData.sys.index_columns ic on idx.index_id = ic.index_id and idx.object_id = ic.object_id
     where  idx.object_id = object_id('MouldTestResultDetail') and idx.is_primary_key = 1 )
select   colm.column_id ColumnID, cast(case when indexCTE.column_id is null then 0 else 1 end as bit) IsPrimaryKey, colm.name column_name ,object_definition(colm.default_object_id) AS column_def,
         systype.name type_name, colm.is_identity is_identity,f.keyno as is_foreignkey, colm.is_nullable , cast(colm.max_length as int) ByteLength ,
         ( case when systype.name = 'nvarchar' and colm.max_length > 0 then colm.max_length / 2
                when systype.name = 'nchar' and colm.max_length > 0 then colm.max_length / 2
                when systype.name = 'ntext' and colm.max_length > 0 then colm.max_length / 2 else colm.max_length end ) length ,
         cast(colm.precision as int) precision, cast(colm.scale as int) scale,colm.is_computed, prop.value Remark
from     ZSOtherData.sys.columns colm
         inner join ZSOtherData.sys.types systype on colm.system_type_id = systype.system_type_id and colm.user_type_id = systype.user_type_id
         left join ZSOtherData.sys.extended_properties prop on colm.object_id = prop.major_id and colm.column_id = prop.minor_id
         left join indexCTE on colm.column_id = indexCTE.column_id and colm.object_id = indexCTE.object_id
     left join sysforeignkeys f on f.fkeyid=colm.object_id and f.fkey=colm.column_id
where    colm.object_id = object_id('MouldTestResultDetail')
order by colm.column_id;

SQL Server中搜索特定的对象

到此这篇关于SQL Server搜索特定对象的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

SQL Server 相关文章推荐
SQL Server 数据库实验课第五周——常用查询条件
Apr 05 SQL Server
SQL SERVER中常用日期函数的具体使用
Apr 08 SQL Server
如何有效防止sql注入的方法
May 25 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
SQLServer之常用函数总结详解
Aug 30 SQL Server
SQL Server表分区删除详情
Oct 16 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
SQL Server中的游标介绍
May 20 SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 SQL Server
SQL解决未能删除约束问题drop constraint
May 30 SQL Server
详解SQL报错盲注
Jul 23 SQL Server
SQL Server使用T-SQL语句批处理
May 20 #SQL Server
SQL Server 中的事务介绍
May 20 #SQL Server
SQL Server中锁的用法
May 20 #SQL Server
SQL Server中使用表变量和临时表
May 20 #SQL Server
SQL Server中的游标介绍
May 20 #SQL Server
SQL Server #{}可以防止SQL注入
May 11 #SQL Server
SQL Server 忘记密码以及重新添加新账号
You might like
PHP概述.
2006/10/09 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
php比较相似字符串的方法
2015/06/05 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
JS打开层/关闭层/移动层动画效果的实例代码
2013/05/11 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
JS实现带鼠标效果的头像及文章列表代码
2015/09/27 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
python中查看变量内存地址的方法
2015/05/05 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
python实现内存监控系统
2021/03/07 Python
学生信息管理系统python版
2018/10/17 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
对pandas处理json数据的方法详解
2019/02/08 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
高一数学教学反思
2014/02/07 职场文书
父母寄语大全
2014/04/12 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
岗位聘任协议书
2015/09/21 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
MySQL通过binlog恢复数据
2021/05/27 MySQL
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
Redis过期数据是否会被立马删除
2022/07/23 Redis