SQL Server如何对特定对象搜索,SQL语句是什么
Admin 2022-08-03 群英技术资讯 1147 次浏览
很多朋友都对“SQL Server如何对特定对象搜索,SQL语句是什么”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!检索数据库架构信息 - ADO.NET | Microsoft 官方文档
将系统表映射到系统视图 (Transact-sql) - SQL Server | Microsoft 官方文档
主要用到 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 '%年假%'
主要用到 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;

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询...下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
这篇文章主要介绍了SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息的相关资料,需要的朋友可以参考下
序列是根据需要产生的一组有序整数:1, 2, 3 ... 序列在数据库中经常用到,因为许多应用要求数据表中的的每一行都有一个唯一的值,序列为此提供了一种简单的方法。
NOW() 函数返回当前系统的日期和时间,有不少朋友对于NOW函数比较感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
使用SQL,您可以将信息从一个表中复制到另一个表中。INSERT INTO SELECT 语句从表中复制数据,并将数据插入现有的表中。目标表中的任何现有行都不会受到影响。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008