Udostępnij za pośrednictwem


Adding Rows by Using INSERT and SELECT

INSERT i instrukcji SELECT umożliwia dodawanie wierszy do tabela w następujący sposób:

  • Aby określić wartości bezpośrednio lub z podkwerenda za pomocą instrukcja INSERT.

  • Za pomocą instrukcja SELECT z klauzula na.

Za pomocą INSERT

Instrukcja INSERT dodaje nowe wiersze w tabela.Traktowanie uproszczone INSERT ma następującą postać:

INSERT [INTO] table_or_view [(column_list)] data_values

The INSERT statement inserts data_values as one or more rows into the specified table or view.column_list is a list of column names, separated by commas, that can be used to specify the columns for which data is supplied.Jeśli column_list nie jest określony, wszystkie kolumny w tabela lub widoku odbierania danych.

Kiedy column_list nie określono wszystkich kolumn w tabela lub widoku, albo wartość domyślną, jeśli zdefiniowano domyślną dla kolumna lub wartość NULL jest wstawiany do każdej kolumna, która nie jest określona na liście. Wszystkie kolumna, które nie zostały określone na liście kolumn należy zezwolić na wartości null lub jest wartość domyślna przypisana.

Instrukcji INSERT nie określono wartości dla następujących typów kolumn, ponieważ SQL Server Database Engine generuje wartości dla tych kolumn:

  • kolumna zawierające właściwość tożsamości, która generuje wartości dla kolumna.

  • Kolumny, które mają domyślne, wykorzystującą funkcja NEWID do generowania unikatowych wartości identyfikatora GUID.

  • Kolumny obliczane.

    Obliczona kolumny są wirtualne kolumny, które zostały zdefiniowane jako wyrażenie obliczane na podstawie jednego lub kilku innych kolumn CREATE TABLE Instrukcja, takie jak:

    CREATE TABLE TestTable
      (ColA INT PRIMARY KEY,
       ColB INT NOT NULL,
       ColC AS (ColA + ColB) * 2)
    

W poniższym przykładzie pokazano, jak wstawić wiersze do tabela zawierającej kolumny, które automatycznie generuje wartość lub mieć wartość domyślną.The INSERT statements insert rows that contain values for some of the columns but not all.W ciągu ostatnich INSERT Instrukcja, są określone żadne kolumny i wstawiane są tylko wartości domyślne.

Za pomocą INSERT klauzula wartość i SELECT podkwerenda

Dane dostarczane muszą odpowiada liście kolumn.Liczba wartości danych musi być taka sama jak liczba kolumn, a typ danych, precyzji i skali wszystkich wartości danych muszą zgadzać się z odpowiedniej kolumna.Można określić wartości danych w następujący sposób:

  • Za pomocą VALUES Klauzula do określenia wartości danych dla jednego wiersza. Na przykład:

    INSERT INTO MyTable (PriKey, Description)
           VALUES (123, 'A description of part 123.')
    

    Aby uzyskać więcej informacji zobaczWstawianie wierszy przy użyciu INSERT i wartości.

  • Za pomocą SELECT podkwerenda do określenia wartości danych dla jednego lub kilku wierszy, takie jak:

    INSERT INTO MyTable  (PriKey, Description)
           SELECT ForeignKey, Description
           FROM SomeView
    

    Aby uzyskać więcej informacji, zobacz Wstawianie wierszy przy użyciu INSERT i SELECT podkwerendy.

Użyciu SELECT INTO

Aby utworzyć nową tabela na podstawie wartości w innej tabela, można użyć SELECT INTO. Na przykład:

SELECT LastName, FirstName, Phone
INTO dbo.PhoneList492
FROM Person.Contact
WHERE Phone LIKE '492%'

Aby uzyskać więcej informacji zobaczInserting Rows by Using SELECT INTO.