Untitled

 avatar
unknown
plain_text
a month ago
1.4 kB
2
Indexable
-- Table to store results
DECLARE @Results TABLE (
    ProcedureID NVARCHAR(100), -- Procedure name
    Result BIT                 -- Boolean result (0 or 1)
);

-- Procedure names
DECLARE @ProcedureList TABLE (ProcedureName NVARCHAR(100));
INSERT INTO @ProcedureList (ProcedureName)
VALUES ('spAATcao'), ('spAnotherProcedure'), ('spThirdProcedure');

-- Variables for execution
DECLARE @ProcName NVARCHAR(100);
DECLARE @SQL NVARCHAR(MAX);
DECLARE @Parameter INT = 11223; -- Input parameter for procedures

-- Cursor to loop through each procedure
DECLARE ProcCursor CURSOR FOR
SELECT ProcedureName FROM @ProcedureList;

OPEN ProcCursor;
FETCH NEXT FROM ProcCursor INTO @ProcName;

WHILE @@FETCH_STATUS = 0
BEGIN
    -- Construct dynamic SQL to execute the procedure and capture the return value
    SET @SQL = N'
        DECLARE @ReturnValue INT;
        EXEC @ReturnValue = ' + @ProcName + ' @rm = @Parameter;
        SELECT @ReturnValue AS Result;
    ';

    -- Execute dynamic SQL and capture the result
    EXEC sp_executesql @SQL,
                       N'@Parameter INT',
                       @Parameter = @Parameter;

    -- After executing the procedure, insert the result into the results table
    INSERT INTO @Results (ProcedureID, Result)
    VALUES (@ProcName, CAST(@ReturnValue AS BIT));

    FETCH NEXT FROM ProcCursor INTO @ProcName;
END;

CLOSE ProcCursor;
DEALLOCATE ProcCursor;

-- Display the results
SELECT * FROM @Results;
Editor is loading...
Leave a Comment