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 相关文章推荐
SqlServer: 如何更改表的文件组?(进而改变存储位置)
Apr 05 SQL Server
SQL Server连接查询的实用教程
Apr 07 SQL Server
SQLServer2008提示评估期已过解决方案
Apr 12 SQL Server
SQL Server2019数据库之简单子查询的具有方法
Apr 27 SQL Server
SQL写法--行行比较
Aug 23 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
使用SQL实现车流量的计算的示例代码
Feb 28 SQL Server
sqlserver连接错误之SQL评估期已过的问题解决
Mar 23 SQL Server
SQL Server的存储过程与触发器以及系统函数和自定义函数
Apr 10 SQL Server
如何使用SQL Server语句创建表
Apr 12 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以mysqli方式连接类完整代码实例
2014/07/15 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
js控制input输入字符解析
2013/12/27 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
vue.js从安装到搭建过程详解
2017/03/17 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
vue-lazyload使用总结(推荐)
2018/11/01 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
一道python走迷宫算法题
2018/01/22 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
经济管理专业自荐信
2013/12/30 职场文书
水果超市创业计划书
2014/01/27 职场文书
技术总监管理职责范本
2014/03/06 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL