可以将存储过程(名称)存储在表中,并且仍然可以正确执行 [英] Can stored procedures (names) be stored in a table, and still be executed properly

查看:162
本文介绍了可以将存储过程(名称)存储在表中,并且仍然可以正确执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个包含一些数据的表,包括我应该运行的存储过程的名称.是否可以使用包含其名称的文本来执行一个过程(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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆