通过动态重命名过程名称来创建存储过程

问题描述 投票:0回答:1
我在 SQL 中有 2 个存储过程,名称分别为“testproc”和“sampleproc”,这些过程中包含一些语句集。我需要通过将“testproc”中的过程名称重命名来动态调用“sampleproc”。下面是我的 sps。

create procedure dbo.testproc as begin declare @dynamicsql nvarchar(100) set @dynamicsql='insert into table1 values(''abc'',30)' exec @dynamicsql end create procedure sampleproc as begin select * from table1 end
我需要通过动态地将其重命名为“testproc_new”来获取从 testproc 调用的过程sampleproc。我应该如何实现这个目标?

我在dynamicsql中添加了create proc语句并执行,但它没有给我结果。

sql dynamic-sql
1个回答
0
投票
您可以尝试将

sp_rename

 与动态 sql 一起使用:

DECLARE @oldname varchar(100), @newname varchar(100); SET @oldname = <old sp name> SET @newname = @oldname + CONVERT(varchar(20), GETDATE(), 120) EXEC sp_rename @oldname,@newname Keep @newname as "testproc_new"
    
© www.soinside.com 2019 - 2024. All rights reserved.