To get you started
😎
Sample data
USE tempdb;
GO
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'TBL_STOREDPROC_001' AND TABLE_SCHEMA = N'dbo')
DROP TABLE dbo.TBL_STOREDPROC_001;
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'TBL_STOREDPROC_002' AND TABLE_SCHEMA = N'dbo')
DROP TABLE dbo.TBL_STOREDPROC_002;
CREATE TABLE dbo.TBL_STOREDPROC_001
(
STOREDPROC_ID INT IDENTITY(1,1) PRIMARY KEY CLUSTERED NOT NULL
,STOREDPROC_NAME NVARCHAR(1024) NOT NULL
);
CREATE TABLE dbo.TBL_STOREDPROC_002
(
STOREDPROC_ID INT IDENTITY(1,1) PRIMARY KEY CLUSTERED NOT NULL
,STOREDPROC_NAME NVARCHAR(1024) NOT NULL
);
INSERT INTO dbo.TBL_STOREDPROC_001 (STOREDPROC_NAME)
VALUES
('STORED PROC 1 FROM TABLE 1')
,('STORED PROC 2 FROM TABLE 1')
,('STORED PROC 3 FROM TABLE 1');
INSERT INTO dbo.TBL_STOREDPROC_002 (STOREDPROC_NAME)
VALUES
('STORED PROC 1 FROM TABLE 2')
,('STORED PROC 2 FROM TABLE 2')
,('STORED PROC 3 FROM TABLE 2');
Simple code example
USE tempdb;
GO
DECLARE @TABLE_NAME NVARCHAR(1024) = N'dbo.TBL_STOREDPROC_002';
DECLARE @SQL_STR NVARCHAR(MAX) = REPLACE(N'
DECLARE @PROC_NAME NVARCHAR(MAX) = N'''';
DECLARE R_SET CURSOR FAST_FORWARD FOR
SELECT
N''EXEC '' + TP.STOREDPROC_NAME + NCHAR(59)
FROM {{@TABLE_NAME}} TP
ORDER BY TP.STOREDPROC_ID;
OPEN R_SET;
FETCH NEXT FROM R_SET INTO @PROC_NAME;
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @PROC_NAME;
FETCH NEXT FROM R_SET INTO @PROC_NAME;
END
CLOSE R_SET;
DEALLOCATE R_SET;
',N'{{@TABLE_NAME}}',@TABLE_NAME);
EXEC (@SQL_STR);