8
這實際上並不是我面臨的問題。但我只是想知道,下面編寫的代碼中的第一行 應該被SQL Server視爲語法錯誤,因爲列列表末尾有額外的逗號(,)。但它運行的代碼很好。有誰知道原因?爲什麼SQL Server不會將此代碼視爲不穩定?
CREATE TABLE #TEMP(COL1 INT,COL2 VARCHAR,)
INSERT INTO #TEMP VALUES (1,'A')
SELECT * FROM #TEMP
DROP TABLE #TEMP
我認爲這是一個設計當您不必忽略逗號時,決定緩動動態sql。類似於LINQ爲什麼在C#中允許使用這種匿名類型:'new {a = 1,b = 2,c = 3,}'。 –
不應被[語法](http://msdn.microsoft.com/en-us/library/ms174979.aspx)允許,但[主要無害](https://connect.microsoft.com/SQLServer/ feedback/details/273348/trailing-comma-allowed-in-create-table) –
@Martin Smith:這取決於,如果圖中的n包含0或不包含0。該語法不包含任何定義(至少沒有找到)。 – Stefan