SQL SERVER动态调用存储过程

来源:互联网 发布:碧螺春 淘宝上哪个正宗 编辑:程序博客网 时间:2024/05/16 12:19

最近开始用SQLSever,而且要用到动态调用存储过程,也就是说在存储过程中,调用“其他存储过程”,而且调用的“其他存储过程”根据条件不同,存储过程名字不同。做了一个小试验发现很简单。

--------------------------主存储过程开始---------------------------------------------------

CREATE PROCEDURE dbo.p_ben_test
(
 @p_flag   int
)
AS
 declare @p_name  varchar(20);
 declare @p_proName  varchar(20);
BEGIN
 if @p_flag=0
  begin
   set @p_name = 'First';
   set @p_proName = 'p_ben_test01';
  end
 else
  begin
   set @p_name = 'Not first'
   set @p_proName = 'p_ben_test02';
  end;
 
 exec @p_proName @p_name;

END

-------------------------主存储过程结束------------------------------------------------------------

 

-------------------------分存储过程开始------------------------------------------------------------

CREATE PROCEDURE [dbo].[p_ben_test01]
(
 @p_name   varchar(20)
)
AS
BEGIN
 print @p_name;
END

-----------------------------------------------------------

CREATE PROCEDURE [dbo].[p_ben_test02]
(
 @p_name   varchar(20)
)
AS
BEGIN
 print @p_name;
END

-------------------------分存储过程结束------------------------------------------------------------

 

原创粉丝点击