J'essaie de transmettre @accountType, une valeur de caractère pour une procédure stockée qui utilise SQL dynamique. Il est déclaré char(4)
dans la procédure. L'erreur actuelle est Incorrect syntax near 'D'
si j'essaie de le changer, je reçois invalid column: D
.Difficulté à utiliser un objet CHAR dans SQL dynamique
Je n'arrive pas à comprendre comment SQL dynamique veut que j'indique que la variable est un char. Je l'ai essayé plusieurs façons, voici la plus récente:
set @q = 'Update ' + @statementTable +
' SET Account = '+ @padding + @accountNumber +
' WHERE ClosingDate BETWEEN CAST('''+CONVERT(VARCHAR(20),@proc_dateStart)+''' AS DATE) AND CAST('''+CONVERT(VARCHAR(20),@proc_dateEnd)+''' AS DATE)' +
' AND AccountType =' + ''''+ @accountType +''''
La valeur vient de mon code C# exactement comme ceci: D
Pas ou quoi que ce soit des guillemets simples autour de la lettre. Des idées? Je suis plus qu'un peu coincé avec ça.