Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sql server中映射动态列名 DECLARE@step VARCHAR(25)='15'; 声明@COL VARCHAR(50)=步骤COL@step; 更新表格\u tblName SET@COL=WHERE_Sql_Sql Server_Dynamic Columns - Fatal编程技术网

在sql server中映射动态列名 DECLARE@step VARCHAR(25)='15'; 声明@COL VARCHAR(50)=步骤COL@step; 更新表格\u tblName SET@COL=WHERE

在sql server中映射动态列名 DECLARE@step VARCHAR(25)='15'; 声明@COL VARCHAR(50)=步骤COL@step; 更新表格\u tblName SET@COL=WHERE,sql,sql-server,dynamic-columns,Sql,Sql Server,Dynamic Columns,我有上面的查询,其中@COL应该是动态的,即步骤1、步骤2、步骤3……步骤18。在sql server中,如果没有If-else条件,如何实现这一点?请尝试以下查询 DECLARE @step VARCHAR(25) = '15'; DECLARE @COL VARCHAR(50) = step_col_@step; UPDATE table_tblName SET @COL=<some value> WHERE <condition> 像这样传递变量以形成动态sql查

我有上面的查询,其中@COL应该是动态的,即步骤1、步骤2、步骤3……步骤18。在sql server中,如果没有If-else条件,如何实现这一点?

请尝试以下查询

DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) = step_col_@step;
UPDATE table_tblName SET @COL=<some value> WHERE <condition>

像这样传递变量以形成动态sql查询

DECLARE @COL VARCHAR(50) = 'step_col_'+@step
DECLARE@step VARCHAR(25)='15';
声明@COL VARCHAR(50)='step\u COL\u'+@step
exec('UPDATE table_tblName SET'+@COL+'=WHERE')
声明@step VARCHAR(25)='15';
声明@COL VARCHAR(50)='step\u COL\uu'+@step;
声明@String VARCHAR(500)=“”
SET@String='updatetable_tblName SET'+@COL+'''=其中
' 
EXEC(@String)
声明@step VARCHAR(25)='15';
声明@COL VARCHAR(50)
设置@COL='step_COL'+@step;
更新表格\u tblName SET@COL=WHERE

DECLARE@COL VARCHAR(50)='step\u COL\uu'+@step考虑添加一个简短的解释,说明上述方法如何/为什么有助于解决问题,以帮助其他人。从…起
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) = 'step_col_'+@step
exec ('UPDATE table_tblName SET '+@COL+'=<some value> WHERE <condition>')
 DECLARE @step VARCHAR(25) = '15';
 DECLARE @COL VARCHAR(50) = 'step_col_'+@step;
 DECLARE @String VARCHAR(500) = ''
 SET @String = 'UPDATE table_tblName SET '''+@COL+''' = <some value> WHERE  
 <condition>' 
 EXEC (@String)
DECLARE @step VARCHAR(25) = '15';
DECLARE @COL VARCHAR(50) 
SET @COL = 'step_col'+@step;

UPDATE table_tblName SET @COL=<some value> WHERE <condition>