sqlserver 生成唯一编号 存储过程_SQL SERVER 查询存储过程

我们想在SQL server里面查询一个对象的存储过程可以在sysobjects表里面查询。SQL Server中的表、视图、存储过程等数据库对象信息都记录在系统表“sysobjects”中。因此,可以通过查询“sysobjects”表,显示当前数据库中的视图,系统表,用户表以及存储过程。

select * from sysobject where type='V' and type ='S' and type ='U' and type ='P'
这里V,S,U,P代表什么可以拉到最下面看表结构里面的内容。

根据存储过程名字获取对应的存储过程内容:

SELECT distinct b.name
from sysobjects a, syscomments b
where a.id = b.id and
b.xtype = 'p'
and a.text like '%xxx%' --xxx为需要查询得内容
order by name;

或者用下面的系统视图查询:

SELECT TOP 10 ir.SPECIFIC_NAME, ir.CREATED, ir.LAST_ALTERED
FROM INFORMATION_SCHEMA.ROUTINES ir
ORDER BY ir.LAST_ALTERED DESC

【栗子】:

按这个查询查询出%BOTO%的结果是在OBJECT里面:

887463c20f43844d0fd3d97e5b30f7f3.png

然后查询某一条存储过程具体内容:

sp_helptext [ @objname = ] 'name'

4ab9b66e50defe904318e19692a9e63d.png

到这步我通常就会把这些东西都复制下来,放到notepad++里面,然后搜对应BOTO字段的具体过程。

下面是sysobjects,sys.syscomments两个表的结构:

sysobjects:

在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。

e9594fade518c7688ba3905fbdc00f35.png

sys.syscomments:

包含数据库中每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始的 SQL 定义语句。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值