1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| ALTER PROCEDURE Ps_copie_Ps
@PC_Base SYSNAME,
@PC_procedure SYSNAME
AS
BEGIN
IF NOT EXISTS
(
SELECT *
FROM sys.procedures
WHERE name = @PC_procedure
)
BEGIN
RAISERROR('La procédure stockée %s n''existe pas !', 16, 1, @PC_procedure)
RETURN
END
-- Récupère le code de la procédure stockée
DECLARE @code VARCHAR(MAX)
SELECT @code = definition
FROM sys.sql_modules AS M
WHERE object_id = OBJECT_ID(@PC_procedure)
DECLARE @sql VARCHAR(MAX)
SET @sql = 'EXEC ' + @PC_Base + '.dbo.sp_executeSQL @statement = N''' + @code + ''''
--PRINT @sql
EXEC (@sql)
END |
Partager