使用另一个存储过程将值分配给一个存储过程的参数

时间:2016-08-01 12:35:56

标签: sql-server stored-procedures

我想创建一个存储过程,将@table_name@column_name中的值设为@param1@param2,并将值@TableToBeExecuted分配为{{ 1}}。

abc_@param1_@param2_Queries

我试过这种方式但是我无法按照需要分配值。

...
EXEC [dbo].[sp_CreateTable]
     @table_name='Career',
     @column_name = 'profession',
     @TableToBeExecuted = 'abc_Career_profession_Queries'  
GO
...

1 个答案:

答案 0 :(得分:1)

无需获取参数。您应该在sp。

中创建一个局部变量
ALTER PROCEDURE [dbo].[sp_CreateTabl]
    @table_name NVARCHAR(MAX),
    @column_name NVARCHAR(MAX)
AS
BEGIN   
    DECLARE @TableToBeExecuted  NVARCHAR(MAX) = 'abc_' + @table_name + '_' + @column_name + '_Queries'
    -- Sp code here..

END