代码改变世界

查看所有表名、视图名、存储过程名、触发器名

2010-12-02 09:43  bingcaihuang  阅读(481)  评论(0编辑  收藏  举报

有时我们需要查看一个数据库中所有的表名、视图名、存储过程名、触发器名以及各自的代码,可以在查询分析器里用简单的代码来查看 
一、查看所有表名: 
     USE 数据库名 
     SELECT NAME FROM SYSOBJECTS WHERE XTYPE='U' 
二、查看所有视图名: 
     USE 数据库名 
     SELECT NAME FROM SYSOBJECTS WHERE XTYPE='V' 
三、查看所有存储过程名: 
     USE 数据库名 
     SELECT NAME FROM SYSOBJECTS WHERE XTYPE='P' 
四、查看所有触发器名:
     USE 数据库名 
     SELECT NAME FROM SYSOBJECTS WHERE XTYPE='TR' 
     通过以上可以看出规律,只要对象的类型(XTYPE)设置不同,查看的对象就不同,其中表SYSOBJECTS保存着数据库所有的对象资料,该表在系统数据库MASTER下 
接下来查看各类对象的实际代码(注:表不能查看) 
其实是执行一个系统存储过程:SP_HELPTEXT 即可. 
语法:EXECUTE SP_HELPTEXT '对象名' 
比如查看名称为 VIEW_WGMINGXI 的视图的代码: 
     USE 数据库名 
     EXECUTE SP_HELPTEXT 'VIEW_WGMINGXI ' 
结果