SQL中利用sql语句查询数据库中的所有表、存储过程

( 一)利用Sql语句查询数据库中的所有表

1,利用sysobjects系统表
在这个表中,在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都有对应一行,我们在该表中筛选出xtype等于U的所有记录,就为数据库中的表了。
示例语句如下::

select * from sysobjects where xtype='U'

注意:在SQL SERVER2005中,出现了sys.objects目录视图来代替sysobjects系统表,我们在SQL SERVER2005及以后的版本中,可以使用sysobjects系统表与sys.objects目录视图的任意对象来查询所有表。

2,利用sys.tables目录视图
sys.tables目录视图,为每个表对象返回一行.
示例语句如下:
select * from sys.tables

注意:sys.tables目录视图也只有在SQL SERVER2005及以上的版本中才能使用。

3,利用存储过程sp_tables
sp_tables存储过程,可返回可在当前环境中查询的对象列表。这代表可在FROM子句中出现的任何对象。
我们可以执行如下语句:
exec sp_tables

在结果集中筛选出所有TABLE_TYPE等于TABLE的记录就是表信息了。

(二)利用Sql语句查询数据中的所有存储过程

1,利用sysobjects系统表
在这个表中,在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都有对应一行,我们在该表中筛选出xtype等于P的所有记录,就为数据库中的存储过程了。
示例语句如下:

select * from sysobjects where xtype='P'

注意:在SQL SERVER2005中,出现了sys.objects目录视图来代替sysobjects系统表,我们在SQL SERVER2005及以后的版本中,可以使用sysobjects系统表与sys.objects目录视图的任意对象来查询所有存储过程。

但在sys.objects中,xtype列已经被type列代替,也就是说,在SQL SERVER2005及以后的版中可以使用以下代码来查询数据库中所有存储过程。
select * from sys.objects where type='P'

2,利用sys.procedures目录视图
sys.procedures目录视图,每个存储过程都会在返回结果集中占一行.
示例语句如下:
select * from sys.procedures

注意:sys.procedures目录视图也只有在SQL SERVER2005及以上的版本中才能使用。

文章来源:.net学习网

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值