Aslında karşı karşıya olduğum bir sorun değil. Ama sadece aşağıda yazılan koddaki ilk satırının, sütunlar listesinin sonundaki ek virgül (,) nedeniyle SQL Server tarafından bir sözdizimi hatası olarak ele alınması gerektiğini merak ediyorum. Ama kodu düzgün çalışıyor. Sebebini bilen var mı?SQL Server neden bu kodu hatalı davranmıyor?
CREATE TABLE #TEMP(COL1 INT,COL2 VARCHAR,)
INSERT INTO #TEMP VALUES (1,'A')
SELECT * FROM #TEMP
DROP TABLE #TEMP
virgül atlamak zorunda kalmazsanız, dinamik sql kolaylaştırmak için karar. Benzer şekilde LINQ, C#: 'new {a = 1, b = 2, c = 3,}' gibi bir anonim türe izin veriyor. –
[Dilbilgisi] tarafından izin verilmemelidir (http://msdn.microsoft.com/en-us/library/ms174979.aspx) ancak [çoğunlukla zararsız] (https://connect.microsoft.com/SQLServer/ feedback/details/273348/trailing-comma-in-create-in-create-tablo) –
@Martin Smith: Bu şemada n varsa 0 ya da dahil değildir. Sözdizimi tanım içermiyor (en azından bulunamadığım). – Stefan