首页 文章

存储过程如果存在动态表

提问于
浏览
0

我在这里有一个问题,我在stackoverflow中搜索,但仍然没有找到最好的方法

我有这样的存储过程(SP)

DECLARE @table NVARCHAR(max),@ SQLQuery NVARCHAR(max)SET @table = @meta'_prize4winner'SET @SQLQuery ='if exists(选择*来自[dbo] . '@ table',其中idCampaignLog ='''转换(nvarchar,@ ID)''')exec InsertC2CWinner'''convert(nvarchar,@ meta)''','''convert(nvarchar,@ ID)''',null否则选择''你输了'' winStatus'执行SP_EXECUTESQL @SQLQuery

需要帮助如何设置输出如果我想要输出如果存在'你赢'其他'你输了'thx

1 回答

  • 0

    一般语法是这样的

    DECLARE @retval int   
    DECLARE @sSQL nvarchar(500);
    DECLARE @ParmDefinition nvarchar(500);
    
    DECLARE @tablename nvarchar(50)  
    SELECT @tablename = N'products'  
    
    SELECT @sSQL = N'SELECT @retvalOUT = MAX(ID) FROM ' + @tablename;  
    SET @ParmDefinition = N'@retvalOUT int OUTPUT';
    
    EXEC sp_executesql @sSQL, @ParmDefinition, @retvalOUT=@retval OUTPUT;
    
    SELECT @retval;
    

相关问题