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 相关文章推荐
SQLServer2019 数据库的基本使用之图形化界面操作的实现
Apr 08 SQL Server
SQLServer2008提示评估期已过解决方案
Apr 12 SQL Server
在 SQL 语句中处理 NULL 值的方法
Jun 07 SQL Server
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
Jun 30 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
SQL Server使用导出向导功能
Apr 08 SQL Server
SQLServer权限之只开启创建表权限
Apr 12 SQL Server
SQL Server使用T-SQL语句批处理
May 20 SQL Server
SQL Server数据库备份和恢复数据库的全过程
Jun 14 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原理之变量(Variables inside PHP)
2013/08/09 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
phpfpm的作用和用法
2019/10/10 PHP
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
pandas数据处理基础之筛选指定行或者指定列的数据
2018/05/03 Python
对python插入数据库和生成插入sql的示例讲解
2018/11/14 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
python实现在线翻译功能
2020/03/03 Python
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
烹调加工管理制度
2014/02/04 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
数字化校园建设方案
2014/05/03 职场文书
给校长的建议书400字
2014/05/15 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
python数据处理之Pandas类型转换
2022/04/28 Python