我有一个简单的存储过程Proc_My_SP
:
BEGIN
DECLARE @Results TABLE (Tid INT PRIMARY KEY);
INSERT @Results
EXEC Procedure2 [parameters];
SET @total 1;
END
SELECT @total
问题::使用Proc_My_SP
,此存储过程我想打印出Procedure2
-仅是名称
如果Proc_My_SP
包含对Procedure2
,Procedure3
等的多次调用,我想一一列出
找出存储过程中的所有存储过程名称并打印出来
已编辑
我尝试使用以下方式获取存储过程的文本
DECLARE @SPTEXT NVARCHAR(MAX)
SET @SPTEXT = (SELECT ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE SPECIFIC_NAME = 'Proc_My_SP')
PRINT @SPTEXT
但是从@SPTEXT
,我如何找到所有存储过程的名称?
答案 0 :(得分:2)
您可以尝试以下查询。
package.json
OR
"scripts": {
"start": "npm run watch:all",
"test": "echo \"Error: no test specified\" && exit 1",
"lite": "lite-server",
"scss": "node-sass -o css/ css/",
"watch:scss": "onchange './css/*.scss' -- npm run scss",
"watch:all": "parallelshell 'npm run watch:scss'"
}
第一个查询将仅搜索名称,第二个查询将搜索SP中的任何内容。
编辑
SELECT NAME AS ObjectName
,schema_name(o.schema_id) AS SchemaName
,type
,o.type_desc
FROM sys.objects o
WHERE o.is_ms_shipped = 0
AND o.NAME LIKE '%Add%'
AND type = 'p'
ORDER BY o.NAME
此查询将为您提供从属对象名称。