Einfügen von # in eine gespeicherte Prozedur

Ich versuche, eine # in eine gespeicherte Prozedur in SQL server einzufügen. Wenn ich es schreibe, habe ich einen Fehler und wenn ich es lösche, funktioniert es, warum ?.

Die Linie, wo ich ein '#' schreiben möchte, ist:

INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+'#') 

Und ich möchte es auf dem Finale der Zeile schreiben.

Kannst du mir helfen?

Verwenden Sie den insert . . . select insert . . . select insert . . . select stattdessen Methode aus:

 INSERT INTO @Resultado select 'CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518) 

Es ist auch eine gute Idee, immer die Spalten auf dem Tisch für einen insert , auch wenn es nur einen gibt.

Ich scheine unfähig zu sein, den Fehler zu reproduzieren … das hat gut geklappt:

 DECLARE @Resultado TABLE( test varchar(5000) ) INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST('123456' AS CHAR(6))+SPACE(518)+'#') select * from @Resultado 

Könnte es sein, dass du es versäumt hast, die # vor den 518 Räumen zu sehen? Oder vielleicht war die Spalte nicht nullable und die Variable @aniomes war ein NULL?

Verwenden Sie char (35) für #

 INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+char(35))