怎么查看存储过程被使用
‘壹’ 怎么在sybase中查询一个表被哪些存储过程用到
使用sybase central来查看。
在表名上点右键,选择属性,点“依赖性”按钮,在引用者页面中,下拉列表选择“过程”,就可以看到引用该表的所有存储过程了。
‘贰’ 如何快速查找使用了某个字段的所有存储过程
当一个系统中使用了很多的表,并且存在大量的存储过程,当数据库中的某个表删除了某个字段,那么相应的存储过程也需要改动,但是我们不知道哪些存储过程使用了该字段,那我们该怎么办?我们可以从之前的文档一个一个查找使用了该字段的存储过程,但是这样效率很多,而且还容易出错,我们可以使用下面的方法来查找所有使用了某个字段的存储过程。如下的函数:
[sql] view plainprint?
01.GO
02.SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容
03.FROM syscomments sc
04.INNER JOIN sysobjects obj ON sc.Id = obj.ID
05.WHERE sc.TEXT LIKE '%' + '字段名' + '%'
06.AND TYPE = 'P'
07.GO
GO
SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容
FROM syscomments sc
INNER JOIN sysobjects obj ON sc.Id = obj.ID
WHERE sc.TEXT LIKE '%' + '字段名' + '%'
AND TYPE = 'P'
GO
下面举一个例子,比如查找数据库中所有使用了AdId这个字段的所有存储过程。
[sql] view plainprint?
01.USE KyCms
02.GO
03.SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容
04.FROM syscomments sc
05.INNER JOIN sysobjects obj ON sc.Id = obj.ID
06.WHERE sc.TEXT LIKE '%' + 'AdID' + '%'
07.AND TYPE = 'P'
08.GO
USE KyCms
GO
SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容
FROM syscomments sc
INNER JOIN sysobjects obj ON sc.Id = obj.ID
WHERE sc.TEXT LIKE '%' + 'AdID' + '%'
AND TYPE = 'P'
GO
‘叁’ 如何查询存储过程是否被调用
那就查查这个存储过程在没在其他过程里出现过,
select * from dba_source where owner='用户名' and type='PROCEDURE' AND TEXT LIKE '%过程名%'
‘肆’ sql怎样查一个存储过程被谁调用
1、查看存储过程被哪些过程调用:
如果你的数据库客户端使用的是pl/sql developer,那么连上数据库,在左侧的procere中找到这个存储过程,点开菜单树找到reference by,就可以看到这个过程被哪些对象调用。
2、查看存储过程被哪些job调用:
select * from dba_jobs where what like 'PROCEDURE_NAME%';
‘伍’ mysql 如何查看某个表在哪些存储过程中用那个到了
SELECT * FROM mysql.proc
WHERE type = 'PROCEDURE'
AND specific_name = 'P_UserBetDayDetail'
AND Body LIKE '%Report_UserBetDayDetail%';
mysql.proc:表示查询的目标表;
type = 'PROCEDURE':表示查询的是存储过程;
specific_name = 'P_UserBetDayDetail' :表示查询的具体存储过程名称;
Body LIKE '%Report_UserBetDayDetail%':表示存储过程内容中包含的表。
‘陆’ SQL SERVER如何查看一个表被哪些存储过程用到用哪个系统存储过程
如果你的表名比较特殊,如果你的数据库版本
在sqlserver2005以上
那么
select
*
from
sys.all_sql_moles
where
definition
like
'%表名%'
是一个最原始最有效的办法,不仅可以分析出存储过程,还能分析出函数
和
视图。
‘柒’ sql server 查询某个表被哪些存储过程调用
SQL从未提供此功能,但可以曲线救国。
思路:
1、查询全部存储过程:select * from sys.all_objects where type='P'
2、将所有存储过程输出到表,大致使用到的有系统函数:sp_helptext
3、然后查询表里是否包含表名
‘捌’ 怎样查看某些存储过程是否已经被禁用或者启用了,用什么语句可以查看
如果是 <=sql 2000 的版本,那么没有禁用的方法,只能删除它,所以判断是否存在就好了
>=2005 的版本,执行 sp_configure 'xp_cmdshell', 如果返回1,表示启用,0表示禁用
当然,一般的前提是你有足够的权限,如果你无法保证权限,那么执行一下,看是否报错