我很多年没有编码,我需要帮助,请等。
我需要更新一个发生的事情表" somethings",这就是我需要的原因 打电话给"功能/程序"我可以传递参数,其中"那些 东西"会发生的。我知道......多么糟糕......例如:
BEGIN
UPDATE tab_or
SET [1] = (CASE WHEN ([1] IS NULL) THEN @aux
WHEN ([1] NOT LIKE '%'+@aux+'%') THEN CONCAT([1], ' | ', @aux)
ELSE [1] END)
WHERE [2] = (SELECT [2] FROM tab_or WHERE row_id = @row);
END;
因为这(以及其他类似说明会重复很多次)>我需要调用一个函数/过程"或其他类型的解决方案"我可以在哪里>给出2个参数(参数将是字段的名称,在这个> case [1]和[2]中)。
任何人都可以帮我编码吗?我坚持使用255000>的表格。线......不能在手边交叉......这就是我需要这个的原因>代码。
答案 0 :(得分:0)
尝试将UpdateQuery放入VARCHAR并使用EXEC(@UpdateQuery)
见样本:
DECLARE @Test VARCHAR(8000)
DECLARE @1 VARCHAR(50)
SET @1 = 'Id'
SET @Test = 'SELECT ' + @1 + ' FROM table WHERE LIKE ''%' + @param + '%'''
EXEC (@Test)