SQL Server中搜索特定的對象
檢索數(shù)據(jù)庫架構(gòu)信息 - ADO.NET | Microsoft 官方文檔
將系統(tǒng)表映射到系統(tǒng)視圖 (Transact-sql) - SQL Server | Microsoft 官方文檔
一、注釋中帶某關(guān)鍵字的對象(sys.extended_properties)
主要用到 sys.tables 、sys.columns 、sys.procedures 系統(tǒng)對象表以及sys.extended_properties 擴(kuò)展屬性表
--查詢列 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 '%年假%'
二、定義語句中帶某關(guān)鍵字的對象(sys.all_sql_modules)
主要用到 dbo.sysobjects 系統(tǒng)對象表以及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;
到此這篇關(guān)于SQL Server搜索特定對象的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。