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 相关文章推荐
2021-4-3课程——SQL Server查询【2】
Apr 05 SQL Server
SQL Server基本使用和简单的CRUD操作
Apr 05 SQL Server
【HBU】数据库第四周 单表查询
Apr 05 SQL Server
SqlServer: 如何更改表的文件组?(进而改变存储位置)
Apr 05 SQL Server
SQL Server连接查询的实用教程
Apr 07 SQL Server
SQL SERVER中常用日期函数的具体使用
Apr 08 SQL Server
如何有效防止sql注入的方法
May 25 SQL Server
SQLServer RANK() 排名函数的使用
Mar 23 SQL Server
SQL Server远程连接的设置步骤(图文)
Mar 23 SQL Server
SQLServer权限之只开启创建表权限
Apr 12 SQL Server
SQL Server中的游标介绍
May 20 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
各种战术和打法的原创者
2020/03/04 星际争霸
php中iconv函数使用方法
2008/05/24 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
JavaScript OOP类与继承
2009/11/15 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
简单了解JS打开url的方法
2020/02/21 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
小学生新学期寄语
2014/01/19 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
《桥》教学反思
2014/04/09 职场文书
艺术教育实施方案
2014/05/03 职场文书
同意迁入证明模板
2014/10/26 职场文书
音乐之声观后感
2015/06/04 职场文书
图书馆义工感想
2015/08/07 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript