SQL Serve 2005中的系统架构

80酷酷网    80kuku.com

  架构

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

 



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: