SQL Server 2008——SQL命令INSERT

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   strong   io   資料   

T-SQL的INSERT命令的文法:

INSERT [INTO]

    {table_name|view_name}

    [{(column_name,column_name,…)}]

    {VALUES (expression,expression,…)}

方括弧內是可選的。

列名的列表必須用圓括弧包圍住,逗號分隔。

關鍵字VALUES是必須的,資料值用圓括弧包圍,逗號分隔。

最好是盡量避免在名稱中包含空格;

如果表或視圖的名稱與保留字相同或包含空格,則必須用方括弧或雙引號將名稱包圍起來。

不過,如果確實需要,那麼最好使用方括弧,因為有時要把列資料值設定為類似Acme‘s Rockets的值,此時用雙引號包圍Acme‘s Rockets便於添加資料,如下所示:

VALUES

         (...

          "Acme‘s Rockets",

          ...)

當用雙引號來替代方括弧包圍表或視圖名稱時,是在使用引用標識符,也就是在建立資料庫時,使用了如下設定:

SET QUOTED_IDENTIFIER ON

如果資料庫設定了“SET QUOTED_IDENTIFIER ON”,那麼就不能使用雙引號包圍類似Acme‘s Rockets這樣的資料值了。

為了確保查詢編輯器設定為允許以雙引號分隔字串,可以在任何需要用到引號的查詢處,放置下面的代碼:

SET QUOTED_IDENTIFIER OFF

GO

注意,使用SET QUOTED_IDENTIFIER OFF有一個隱藏的麻煩:當使用T-SQL命令時,許多時候可能要用雙引號來包圍保留字,而非方括弧;然而,如果將QUOTED_IDENTIFIER設定為OFF,就只能用方括弧包圍保留字。如果將QUOTED_IDENTIFIER設定為ON,則無法在名稱中輸入類似與Acme‘s這樣的字串,而必須把代碼中的單引號用兩個單引號來表示:

VALUES

         (...

          ‘Acme‘‘s Rockets‘,

          ...)

如果沒有在INSERT語句中指定列,那麼提供的資料值的數目必須與要在其中進行插入的表的列數相同;如果指定了列的列表,則資料值的數目必須與INSERT語句中指定列表中的列數相同。

建議永遠指明列名,即便是以列在表中布局的順序向表的所有列中插入資料。

能夠從一個INSERT語句插入多行資料,要實現這一目的,可以把要添加的每一行用它自己單獨的一對圓括弧包圍起來,而各對圓括弧之間用逗號分隔開,如下:

VALUES

         (...

          "Acme‘s Rockets",

          ...),

         (...

          "Tom‘s Rockets",

          ...),

          …

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.