In realtà non è un problema che sto affrontando. Ma mi chiedo solo che la prima riga nel codice scritto di seguito dovrebbe essere trattata come un errore di sintassi da SQL Server a causa della virgola in più (,) alla fine dell'elenco di colonne. Ma gestisce bene il codice. Qualcuno conosce la ragione?Perché SQL Server non tratta questo codice in modo errato?
CREATE TABLE #TEMP(COL1 INT,COL2 VARCHAR,)
INSERT INTO #TEMP VALUES (1,'A')
SELECT * FROM #TEMP
DROP TABLE #TEMP
presumo che si tratta di un disegno decisione di semplificare SQL dinamico, quando non è necessario omettere la virgola. Simile al motivo per cui LINQ consente un tipo di questo tipo anonimo in C#: 'new {a = 1, b = 2, c = 3,}'. –
Non dovrebbe essere consentito da [la grammatica] (http://msdn.microsoft.com/en-us/library/ms174979.aspx) ma [per lo più innocuo] (https://connect.microsoft.com/SQLServer/ feedback/dettagli/273348/trailing-comma-allowed-in-create-table) –
@ Martin Smith: Dipende, se n nel diagramma include 0 o meno. La sintassi non contiene definizioni (almeno nessuna trovata). – Stefan