使用 INSERT 添加行
INSERT 語句可給表添加一個或多個新行。INSERT 語句在簡單的情況下有如下形式:
INSERT [INTO] table_or_view [(column_list)] data_values
此語句將使 data_values 作為一行或者多行插入已命名的表或視圖中。column_list 是由逗號分隔的列名列表,用來指定為其提供資料的列。如果沒有指定 column_list,表或者視圖中的所有列都將接收資料。
如果 column_list 沒有為表或視圖中的所有列命名,將在列表中沒有命名的任何列中插入一個 NULL 值(或者在預設情況下為這些列定義的預設值)。在列的列表中沒有指定的所有列都必須允許 null 值或者指定的預設值。
由於 Microsoft? SQL Server? 為以下類型的列產生值,INSERT 語句將不為這些類型的列指定值:
具有 IDENTITY 屬性的列,該屬性為列產生值。
有預設值的列,該列用 NEWID 函數產生一個唯一的 GUID 值。
計算資料行。
這些是虛擬列,被定義為 CREATE TABLE 語句中從另外一列或多列計算的運算式,例如:
CREATE TABLE TestTable
(ColA INT PRIMARY KEY,
ColB INT NOT NULL,
ColC AS (ColA + ColB) * 2)
所提供的資料值必須與列的列表匹配。資料值的數目必須與列數相同,每個資料值的資料類型、精度和小數位元也必須與相應的列匹配。有兩種方法指定資料值:
用 VALUES 子句為一行指定資料值:
INSERT INTO MyTable (PriKey, Description)
VALUES (123, 'A description of part 123.')
-----------------------------------------
這 裡 重 要
-----------------------------------------
用 SELECT 子查詢為一行或多行指定資料值。
INSERT INTO MyTable (PriKey, Description)
SELECT ForeignKey, Description
FROM SomeView