Inquiridor
Concatenar variável com nome de campo

Pergunta
-
Saudações, pessoal.
Tenho o seguinte código numa procedure:
UPDATE TABELA
SET
valor_maximo=
CASE WHEN valorcampo_@COUNT > valor_maximo THEN valorcampo_@COUNT ELSE valor_maximo ENDQuero comparar o valor de um campo cujo nome é composto por "valorcampo_" e o número da variável contador, para saber se ele é o máximo.
Não consigo fazer o sql reconhecer essa composição para o nome.
Tentei ',",&,+... mas nada funciona.
Alguém pode dar uma mão?
Desde já, valeu.
Todas as Respostas
-
Cara, tenta assim:
DECLARE
@COUNT INT, @SQL VARCHAR(1000)SET
@COUNT=2SET
@SQL = 'UPDATE TABELA SET valor_maximo = CASE WHEN valorcampo_' + CAST(@COUNT AS VARCHAR(10)) + ' > valor_maximo THEN valorcampo_' + CAST(@COUNT AS VARCHAR(10)) + ' ELSE valor_maximo END'EXEC
(@SQL)sempre que preciso fazer alguma coisa desse tipo, uso o EXEC
- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 5 de setembro de 2015 01:07
-
Jones,
Veja se este exemplo ajuda:
Code SnippetDeclare
@Comando VarChar(500)DECLARE
@COUNT INTSET
@COUNT=2Set
@Comando='UPDATE TABELASET
valor_maximo=
CASE
WHEN valorcampo_'
+Convert(VarChar(3),@COUNT) +'> valor_maximo THEN valorcampo_@COUNTELSE valor_maximo
END'
Print
@Comando- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 5 de setembro de 2015 01:07
-
-
-