文章詳情頁
SQL Server中搜索特定的對象
瀏覽:4日期:2023-03-06 14:25:25
一、注釋中帶某關鍵字的對象(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_descriptionFROM 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_idAND 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_idAND 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_idAND 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.xtypeFROM dbo.syscomments a, dbo.sysobjects bWHERE a.id = b.id AND b.xtype = "p" AND a.text LIKE "%LotMax%"ORDER BY name;--從 2008 開始,新方式SELECT name, type_descFROM sys.all_sql_modules s INNER JOIN sys.all_objects o ON s.object_id = o.object_idWHERE definition LIKE "%LotMax%"ORDER BY type_desc, name;
三、查找列名
select A.name as table_name, B.name as column_namefrom sys.tables A inner join sys.columns B on B.object_id = A.object_idwhere B.name like "%File%" order by A.name, B.name;
完整的列屬性:
with indexCTEas ( 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 / 2when systype.name = "nchar" and colm.max_length > 0 then colm.max_length / 2when 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 Remarkfrom 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_idwhere colm.object_id = object_id("MouldTestResultDetail")order by colm.column_id;
到此這篇關于SQL Server搜索特定對象的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持。
標簽:
MsSQL
相關文章:
1. SQL SERVER2000中訂閱與發布的具體操作2. SQL Server 2022 AlwaysOn新特性之包含可用性組詳解3. 榨干MS SQL Server 最后一滴血4. SQL Server根據查詢結果,生成XML文件5. SQL Server 2008清空刪除日志文件6. 在sqlserver2005中安裝sql server 2000的示例數據庫northwind7. MyEclipse添加SQL Server 2008數據庫的方法8. 把SQL SERVER里表里的數據導出成為insert into 腳本9. SQL Server判斷數據庫、表、列、視圖、存儲過程、函數是否存在總結10. MS SQL Server 2005 開發之分頁存儲過程
排行榜