SQL Serve 2005中的系統架構

SQL Serve 2005中的系統架構
SQL Server 2000中查詢系統元數據的時候我們要通過很多系統表,例如sysobjects什麼的,當然SQL Server中有很多系統存儲過程,但是還是不能完全滿足我們管理員的需求,所以只能查這些系統表,在SQL Server 2005中所有的系統表都被整合到了一個叫做sys的架構下,同時還有就是架構。

以下給一段範例代碼,可以幫助大家在SQL Server 2005中查詢出有哪些表引用了某張表,

--------------------------------------------------------------------------------

USE AdventureWorks
GO

--顯示有哪些表引用了該對象
IF OBJECT_ID('dbo.ufn_ListReferencingTables') <> 0
 DROP FUNCTION dbo.ufn_ListReferencingTables
GO

CREATE FUNCTION dbo.ufn_ListReferencingTables
(@referenced_table AS varchar(200))
RETURNS TABLE AS
RETURN(
 SELECT SCHEMA_NAME(CONVERT(int, OBJECTPROPERTYEX(fkeyid, 'SchemaId')))
  + '.' + OBJECT_NAME(fkeyid)
  AS [Referencing Table]
 FROM sys.sysreferences
 WHERE rkeyid = OBJECT_ID(@referenced_table)
)
GO

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章