mssql sqlserver 获取sqlserver对象的定义的四种方法分享


摘要:
下文分别讲述四种sqlserver对象定义的四种方法


方法1:
使用object_definition系统函数获取sqlserver对象的定义,如下所示:

   SELECT object_definition (object_id('sys.sysobjects'));
  

—————————–
方法2:
使用sp_helptext系统函数获取sqlserver对象的定义,如下所示:

  exec sp_helptext 'sys.sysobjects';  
  ----将输出对象的定义脚本信息--(不包括表对象)
  ----可输出视图、存储过程(未加密)、函数、触发器、约束。

—————————–
方法3:
使用系统对象 sys.system_sql_modules 输出模块定义,如下所示

 SELECT textInfo.object_id,    
    OBJECT_NAME(textInfo.object_id) AS [对象名称],     
    SCHEMA_NAME(t.schema_id) AS [架构名称],     
    t.type,     
    t.type_desc,     
    textInfo.definition   as [定义内容]   
    FROM sys.system_sql_modules textInfo    
    INNER JOIN sys.system_objects t ON textInfo.object_id = t.object_id    
    WHERE t.type='P'  
	----t.type 输入不同的值将关联不同的类型数据:P、RF、V、TR、FN、IF、TF 和 R 

—————————–
方法4:
使用INFORMATION_SCHEMA对象获取表的相关定义信息

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS    
WHERE TABLE_NAME = N'表名';