Aracılığıyla paylaş


Kimlik değerleri toplu olduğunda veri (SQL Server) alma tutun

Kimlik değerleri içeren veri dosyalarını toplu bir örneğini alınmış olabilir Microsoft   SQL Server. Varsayılan olarak, alınan veri dosyasında kimlik sütun değerleri göz ardı edilir ve SQL Serverbenzersiz değerler otomatik olarak atar. Benzersiz değerleri tablo oluşturulurken belirtilen tohum ve artış değerleri temel alınır.

Tanımlayıcı sütun tablosundaki değerleri veri dosyasındaki içermiyorsa, bir biçim dosyası tanımlayıcı sütun tablosundaki verileri içe aktarırken olarak atlanmasını belirtmek için kullanın. SQL Serversütun benzersiz değerleri otomatik olarak atar.

Önlemek için SQL Serverkimlik değerleri toplu bir tabloya veri satırları alma sırasında atamasını, uygun tutmak-kimlik komut niteleyiciler kullanın. Tut-kimlik niteleyici, belirttiğiniz zaman SQL Serverkimlik değerleri veri dosyasındaki kullanır. Bu niteleyiciler aşağıdaki gibidir:

Komutu

Tut-kimlik niteleyici

Niteleyici türü

bcp

-E

Anahtarı

TOPLU EKLEME

KEEPIDENTITY

Bağımsız değişken

EKLE... SEÇİN * OPENROWSET(BULK...) DAN

KEEPIDENTITY

Tablo ipucu

For more information, see BCP yardımcı programı, BULK INSERT (Transact-SQL), OPENROWSET (Transact-SQL), Insert (Transact-sql), select (Transact-sql), and Tablo ipuçları (Transact-sql).

[!NOT]

Çoklu tablolarda kullanılabilir veya bu çağrılabilir uygulamalardan herhangi bir tabloya başvuran olmadan otomatik olarak artan bir sayı oluşturmak için bkz: Sıra numaraları.

Örnekler

Bu konuda toplu örnekler INSERT kullanarak veri alma... SEÇİN * from openrowset(bulk...) ve varsayılan değerleri tutma.

Örnek tablo

Toplu alma örnek tablo ismi gerektirir myTestKeepNulls tablo oluşturulabilir AdventureWorks örnek veritabanı altında dbo şema. Bu tablo oluşturmak için. de SQL Server Management Studiosorgu Düzenleyicisi, yürütün:

USE AdventureWorks;
GO
SELECT * INTO HumanResources.myDepartment 
   FROM HumanResources.Department
      WHERE 1=0;
GO
SELECT * FROM HumanResources.myDepartment;

Bölümü hangi masaya myDepartmentesas olan ıdentıty_ınsert aygıtlarım için ayarlanır Bu nedenle, kimlik sütunu veri almak için KEEPIDENTITY belirtmelisiniz veya -E. Tablo şema, bakın Department Table (AdventureWorks).

Örnek veri dosyası

Dan verilen veri toplu toplu alma örneklerde kullanılan veri dosyasını içeren HumanResources.Departmentözgün biçiminde tablo. Veri dosyası oluşturmak için MicrosoftWindows komut isteminde, komut girin:

bcp AdventureWorks.HumanResources.Department out myDepartment-n.Dat -n -T

Örnek biçimi dosyası

Bu toplu alma örnek bir xml biçimi dosyası kullanma myDepartment-f-x-n.Xml, yerel veri formatlarını kullanır. Bu örnek bcpBu biçimi dosyası oluşturmak için oluşturmak için HumanResources.Departmenttablo AdventureWorksveritabanı. Windows komut istemine girin:

bcp AdventureWorks.HumanResources.Department format nul -n -x -f myDepartment-f-n-x.Xml -T

Biçim dosyasını oluşturma hakkında daha fazla bilgi için bkz: (SQL Server) biçimi dosyası oluşturma.

A.BCP ve kimlik değerleri tutma

Aşağıdaki örnek kullanırken kimlik değerleri tutma gösterilmiştir bcpiçin veri toplu alma. bcpKomut biçim dosyası kullanır myDepartment-f-n-x.Xmlve aşağıdaki anahtarları içerir:

Elemeleri

Açıklama

-E

Kimlik değeri veya değerleri veri dosyasındaki kimlik sütunu için kullanılabilir olduğunu belirtir.

-T

Belirleyen bcp yarar bağlandığı SQL ServerGüvenilen bir bağlantı ile.

Windows komut istemine girin.

bcp AdventureWorks.HumanResources.myDepartment in C:\myDepartment-n.Dat -f C:\myDepartment-f-n-x.Xml -E -T

B.bulk INSERT kullanarak ve kimlik değerleri tutma

Aşağıdaki örnek için veri toplu alma bulk INSERT kullanan myDepartment-c.Datiçine dosya AdventureWorks.HumanResources.myDepartmenttablosu. Deyimi kullanır myDepartment-f-n-x.Xmlbiçimi dosya ve veri dosyasındaki herhangi bir kimlik değerleri korunur sağlamak için KEEPIDENTITY seçeneğini içerir.

De SQL Server Management Studiosorgu Düzenleyicisi, yürütün:

USE AdventureWorks;
GO
DELETE HumanResources.myDepartment;
GO
BULK INSERT HumanResources.myDepartment
   FROM 'C:\myDepartment-n.Dat'
   WITH (
      KEEPIDENTITY,
      FORMATFILE='C:\myDepartment-f-n-x.Xml'
   );
GO
SELECT * FROM HumanResources.myDepartment;

C.openrowset kullanarak ve kimlik değerleri tutma

Aşağıdaki örnek toplu alma verileri openrowset toplu satır kümesi sağlayıcı kullanmasını myDepartment-c.Datiçine dosya AdventureWorks.HumanResources.myDepartmenttablosu. Deyimi kullanır myDepartment-f-n-x.Xmlbiçimi dosya ve veri dosyasındaki herhangi bir kimlik değerleri korunur sağlamak için KEEPIDENTITY ipucu içerir.

De SQL Server Management Studiosorgu Düzenleyicisi, yürütün:

USE AdventureWorks;
GO
DELETE HumanResources.myDepartment;
GO

INSERT INTO HumanResources.myDepartment
   with (KEEPIDENTITY)
   (DepartmentID, Name, GroupName, ModifiedDate)
   SELECT *
      FROM  OPENROWSET(BULK 'C:\myDepartment-n.Dat',
      FORMATFILE='C:\myDepartment-f-n-x.Xml') as t1;
GO

ilişkili Görevler

Bir biçim dosyası kullanma

Verileri kullanmak için toplu alma veya toplu verme biçimleri

Veri biçimleri için Uyumluluk kullanma bcp zamanı belirtmek için

  1. Alan ve satır sonlandırıcılar (SQL Server) belirtin

  2. Önek uzunluğu veri dosyaları (SQL Server) kullanma bcp tarafından belirtme

  3. Dosya depolama türü (SQL Server) kullanma bcp tarafından belirtme

Ayrıca bkz.

Başvuru

Yedekleme (Transact-sql)

BCP yardımcı programı

BULK INSERT (Transact-SQL)

OPENROWSET (Transact-SQL)

Tablo ipuçları (Transact-sql)