CREATE/DECLARE TABLE and ending comma ,)

Mnior
Дата: 06.06.2011 11:35:22
USE tempdb
GO
CREATE TABLE  Test (ID Int,)	-- Ok
GO
DROP TABLE Test
GO
DECLARE @Test TABLE(ID Int,)	-- Syntax Error
GO
Это документировано?
Гавриленко Сергей Алексеевич
Дата: 06.06.2011 11:37:18
Если покопаться в синтаксисе, то, скорее всего, окажется, что да. Это даже IntelliSense отлавливает. ;)
Mnior
Дата: 06.06.2011 12:25:10
Осталось малость - покопаться.
Гавриленко Сергей Алексеевич
IntelliSense
Совместимость багов (любимая M$), общая либа, copy-past?
invm
Дата: 06.06.2011 12:32:28
Mnior,

Судя по БНФ create table в BOL нифига не документирована...
iap
Дата: 06.06.2011 14:12:54
invm
Mnior,

Судя по БНФ create table в BOL нифига не документирована...
Почему же?
Инструкция CREATE TABLE (Transact-SQL)
Синтаксис
CREATE TABLE 
    [ database_name . [ schema_name ] . | schema_name . ] table_name 
        ( { <column_definition> | <computed_column_definition> 
                | <column_set_definition> }
        [ <table_constraint> ] [ ,...n ] ) 
    [ ON { partition_scheme_name ( partition_column_name ) | filegroup 
        | "default" } ] 
    [ { TEXTIMAGE_ON { filegroup | "default" } ] 
    [ FILESTREAM_ON { partition_scheme_name | filegroup 
        | "default" } ]
    [ WITH ( <table_option> [ ,...n ] ) ]
[ ; ]
invm
Дата: 06.06.2011 14:42:31
iap,

Угу. Забавно.
Mnior
Дата: 06.06.2011 15:11:13
iap,
DECLARE @local_variable
DECLARE @table_variable_name [AS] TABLE (
    { <column_definition> | <table_constraint> } [ ,... ]
)
Вообще-то это однозначно интерпретируется и используется везде.
Может быть в ветвлениях хитро заныкано. Но IMXO бажок.