Kann ich eine einzige gespeicherte Prozedur haben, um eine neue Spalte zu einer Tabelle hinzuzufügen und nachher an der Spalte zu arbeiten? Zum Beispiel habe ich folgende gespeicherte Prozedur:eine Spalte in der gespeicherten Prozedur hinzufügen
...
alter table tb1
add col1 varchar(1) null
insert into tb1(col1)
values ('Y')
bekam ich eine Fehlermeldung,
col1 ungültig ist.
Sie Befehl gehen execute Sie nach der Spalte hinzugefügt wird.? – Muthukumar
Sie können nicht "GO" -Anweisungen in der Mitte einer gespeicherten Prozedur haben – LittleBobbyTables
SQL Server überprüft, dass die Spalte vorhanden ist, wenn Sie den Prozess erstellen, daher müssten Sie die Spalte manuell hinzufügen, den Prozess erstellen und dann entfernen die Spalte, um dies zum Laufen zu bringen. Ich würde die dynamische SQL-Problemumgehung vorschlagen, die @LittleBobbyTables hinzugefügt hat, obwohl möglicherweise stattdessen 'sp_executesql' verwendet wird. –