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注入的方法
May 25 SQL Server
解决sql server 数据库,sa用户被锁定的问题
Jun 11 SQL Server
SQL Server实现分页方法介绍
Mar 16 SQL Server
SQL Server数据库基本概念、组成、常用对象与约束
Mar 20 SQL Server
SQL Server远程连接的设置步骤(图文)
Mar 23 SQL Server
SQL Server表分区降低运维和维护成本
Apr 08 SQL Server
sql server偶发出现死锁的解决方法
Apr 10 SQL Server
使用MybatisPlus打印sql语句
Apr 22 SQL Server
SQL Server #{}可以防止SQL注入
May 11 SQL Server
SQL Server使用T-SQL语句批处理
May 20 SQL Server
SQL SERVER中的流程控制语句
May 25 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
简单易用的计数器(数据库)
2006/10/09 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
基于php实现的验证码小程序
2016/12/13 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
javascript中强制执行toString()具体实现
2013/04/27 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
实例浅析js的this
2016/12/11 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
python 中字典嵌套列表的方法
2018/07/03 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
2013届毕业生求职信范文
2013/11/20 职场文书
项目合作计划书
2014/01/09 职场文书
给交警的表扬信
2014/01/12 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
2014年党建工作总结
2014/11/11 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书