创建表语法TSQL

时间:2015-08-14 16:42:53

标签: sql sql-server tsql create-table

我在理解MSDN中显示的Create Table语法时遇到了问题。

我想[]意味着某事可能是| - 一种不同的方式 - 所以

CREATE TABLE 
    [ database_name . [ schema_name ] . | schema_name . ] table_name

表示您实际可以使用:

1.CREATE table table_name
2.CREATE table database_name.schema_name.table_name
4.Create table database_name.table_name
3.Create table schema_name.table_name

但是{}或()

呢?
CREATE TABLE 
    [ database_name . [ schema_name ] . | schema_name . ] table_name 
    [ AS FileTable ]
    ( {   <column_definition> 
        | <computed_column_definition> 
        | <column_set_definition> 
        | [ <table_constraint> ] 
        | [ <table_index> ] 
          [ ,...n ] } 
          [ PERIOD FOR SYSTEM_TIME ( system_start_time_column_name 
        , system_end_time_column_name ) ]
      )
    [ ON { partition_scheme_name ( partition_column_name ) 
           | filegroup 
           | "default" } ] 
    [ { TEXTIMAGE_ON { filegroup | "default" } ] 
    [ FILESTREAM_ON { partition_scheme_name 
           | filegroup 
           | "default" } ]
    [ WITH ( <table_option> [ ,...n ] ) ]
[ ; ]

1 个答案:

答案 0 :(得分:2)

首先,您应该检查 Transact-SQL Syntax Conventions

| (vertical bar)  Separates syntax items enclosed in brackets or braces. 
                  You can use only one of the items.
[ ] (brackets)    Optional syntax items. Do not type the brackets.
{ } (braces)      Required syntax items. Do not type the braces.

现在,至于创建表,您可以使用:

  1. CREATE TABLE table_name
  2. CREATE TABLE database_name..table_name
  3. CREATE TABLE database_name.schema_name.table_name
  4. CREATE TABLE schema_name.table_name
  5. 因此您的Create table database_name.table_name不正确。你必须使用第二个例子。当您传递..时,表格将在默认架构内创建(很可能是dbo)。

    关于如何阅读MSDN文档的第二个问题。 可能最好的方式是视觉方式:

    enter image description here