可以将存储过程(名称)存储在表中,并且仍然可以正确执行 [英] Can stored procedures (names) be stored in a table, and still be executed properly
本文介绍了可以将存储过程(名称)存储在表中,并且仍然可以正确执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建一个包含一些数据的表,包括我应该运行的存储过程的名称.是否可以使用包含其名称的文本来执行一个过程(I'我假设总是有2个参数...所以没关系...)
I''m trying to create a table with some data, including the name of the stored procedure that I''m supposed to run... Is it possible to execute a procedure using a text containing its name (I''m assuming that there are always 2 parameters... so it doesn''t matter...)
推荐答案
-SP创建
创建步骤测试
@ param1 varchar(10),
@ param2 varchar(10)
AS
开始
选择Column1,column2 ...从Table1中
END
GO
-简单的SP执行
exec测试``1'',``2''
声明@SPwithParameter varchar(1000)
设置@SPwithParameter =``Test''
-从文本执行SP
执行@SPwithParameter``1'',``2''
--SP Creation
CREATE PROCEDURE Test
@param1 varchar(10),
@param2 varchar(10)
AS
BEGIN
Select Column1, column2 ... From Table1
END
GO
--Simple SP execution
exec Test ''1'', ''2''
Declare @SPwithParameter varchar(1000)
Set @SPwithParameter = ''Test''
--SP execution from text
execute @SPwithParameter ''1'', ''2''
是
Yes
--Assuming that you have the following SP:
create procedure CallTest
as
begin
select sellerName, 'US' as 'Country' from sellers
end
go
--Table to store SP name:
Create table sp_data (iid int, sp_name varchar(50));
--insert sp name
insert into sp_data values (1, 'CallTest');
--get name from db:
declare @sp_name varchar(50)
select @sp_name = sp_name from sp_data
--Execute the SP
exec (@sp_name);
这篇关于可以将存储过程(名称)存储在表中,并且仍然可以正确执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文