Aracılığıyla paylaş


Ekle ve select kullanarak satır ekleme

Ekle ve select deyimleri satır eklemek için kullanabileceğiniz bir tablo şu şekilde:

  • INSERT deyim doğrudan veya alt sorgu değerleri belirtmek için kullanın.

  • deyim ile INTO yan tümce tümce tümcesini kullanın.

INSERT kullanma

INSERT deyim, bir veya daha fazla yeni satırlar ekler bir tablo.Basitleştirilmiş bir düzeltme ekleme aşağıdaki biçime sahiptir:

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.If column_list is not specified, all the columns in the table or view receive data.

Zaman column_list bir tablo veya görünümde, ya da varsayılan değer null, belirtilmemişse liste. sütun eklendiğinde veya varsayılan bir sütun için tanımlanmış tüm sütunları belirtmeSütun listesinde belirtilen tüm sütunlar için null değerlere izin vermek veya atanmış bir varsayılan değeri vardır.

INSERT deyimleri belirtme sütunlar aşağıdaki türleri için değerler olduğundan SQL Server Veritabanı Altyapısı Bu sütunların değerleri oluşturur:

  • Sütunlar sütun için değerler üreten bir kimlik özellik ile.

  • NEWID kullanan varsayılan bir sütun işlev benzersiz bir GUID değeri üretmek için.

  • Hesaplanan sütunlar.

    Hesaplanan sütunları olan bir veya daha çok diğer sütun hesaplanan bir deyim olarak tanımlanan sanal sütunları CREATE TABLE deyim gibi:

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

Aşağıdaki örnek satırlar eklemek nasıl gösterir bir tablo otomatik olarak bir değer oluşturmak veya bir varsayılan değere sahip sütunlar vardır.The INSERT statements insert rows that contain values for some of the columns but not all.Son olarak INSERT deyim, hiçbir sütun belirtilen ve varsayılan değerler eklenir.

USE AdventureWorks2008R2;
GO
IF OBJECT_ID ('dbo.T1', 'U') IS NOT NULL
    DROP TABLE dbo.T1;
GO
CREATE TABLE dbo.T1 
(
    column_1 AS 'Computed column ' + column_2, 
    column_2 varchar(30) 
        CONSTRAINT default_name DEFAULT ('my column default'),
    column_3 rowversion,
    column_4 varchar(40) NULL
);
GO
INSERT INTO dbo.T1 (column_4) 
    VALUES ('Explicit value');
INSERT INTO dbo.T1 (column_2, column_4) 
    VALUES ('Explicit value', 'Explicit value');
INSERT INTO dbo.T1 (column_2) 
    VALUES ('Explicit value');
INSERT INTO T1 DEFAULT VALUES; 
GO
SELECT column_1, column_2, column_3, column_4
FROM dbo.T1;
GO

INSERT kullanarak değer yan ve alt sorgu seçme

Sağlanan veri değerleri sütun listesi ile aynı olmalıdır.Veri değerlerinin sayısı sütun sayısı aynı olması gerekir ve karşılık gelen sütun, veri türü, duyarlık ve ölçek her veri değerinin eşleşmelidir.Veri değerleri aşağıdaki şekilde belirtebilirsiniz:

  • Kullanarak bir VALUES bir satır için veri değerleri belirtmek için yan tümce tümce tümceÖrneğin:

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

    Daha fazla bilgi için bkz: INSERT ve değerleri kullanarak satır ekleme.

  • Kullanarak bir SELECT gibi bir veya daha fazla satır için veri değerleri belirtmek için alt sorgu:

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

    Daha fazla bilgi için bkz. Ekle ve select alt sorgular kullanarak satır ekleme

select INTO ile kullanma

Başka bir tablodaki değerleri yeni bir tablo oluşturmak için kullanabileceğiniz SELECT INTO.Örneğin:

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

Daha fazla bilgi için bkz: select INTO kullanma tarafından satırları ekleme.