É uma questão meio acadêmica, mas se eu escrever um SQL-Script para SQL-Server no modo CMD, como poderia criar um alias de coluna como [$(myVar)]?
SELECT 1 AS [$(myVar)] --error: myVar is not defined
É uma questão meio acadêmica, mas se eu escrever um SQL-Script para SQL-Server no modo CMD, como poderia criar um alias de coluna como [$(myVar)]?
SELECT 1 AS [$(myVar)] --error: myVar is not defined
Dentro do script, use SETVAR:
Como alternativa, use o
-v
parâmetro de linha de comando SQLCMD para passar valores de variáveis para o script. Consulte https://msdn.microsoft.com/en-us/library/ms162773.aspx SQLCMD para obter a sintaxe.EDITAR:
Observe que há dois analisadores envolvidos aqui, SQLCMD e T-SQL. Aspas duplas são necessárias para valores de variáveis SQLCMD quando o valor contém um espaço ou aspas duplas. Aspas duplas dentro dos valores SQLCMD são escapadas com aspas duplas adicionais:
Separadamente, há considerações adicionais dependendo de como o valor da variável SQLCMD é usado nos scripts T-SQL. No seu exemplo, o valor é usado como um identificador (alias de coluna) e já está entre colchetes no script T-SQL. Os colchetes dentro do valor precisam ser escapados com um colchete adicional para análise T-SQL:
No caso de uma string T-SQL literal, as aspas simples precisam ser escapadas não para SQLCMD, mas para análise T-SQL: