2015-08-14 3 views
1

У меня возникла проблема в понимании синтаксиса Create Table, как показано в MSDN.Создание синтаксиса таблицы TSQL

Я предполагаю, что [] означает, что СТГ является необязательным | - другой способ - так

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 ]) ] 
[ ; ] 

?

+4

См https://msdn.microsoft.com/en-us/library/ms177563.aspx – Reeno

+0

^^^^ - кажется, действительный ответ я не просто комментарий. Хотя snipit для {} в ответе будет полезен в случае разрывов ссылок. _... {} (фигурные скобки) Обязательные элементы синтаксиса. Не печатайте фигурные скобки ...._ – xQbert

+0

Вы смущены о точках. Они не являются дополнительными, как вы думаете, например. 'database_name..table_name' требует двух точек. – HABO

ответ

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

Так что ваш Create table database_name.table_name неверен. Вы должны использовать второй пример. Когда вы пройдете .., таблица будет создана внутри схемы по умолчанию (скорее всего, dbo).


Что касается второго вопроса, как читать документацию MSDN. Возможно, лучший способ это визуальный способ:

enter image description here

Смежные вопросы