亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Bulk Insert命令具體

系統(tǒng) 2353 0

Bulk Insert命令具體

BULK INSERT以用戶指定的格式復(fù)制一個數(shù)據(jù)文件至數(shù)據(jù)庫表或視圖中。
語法:

Sql代碼
  1. BULK? INSERT ?[?[? 'database_name' .][? 'owner' ?].]{? 'table_name' ? FROM ? 'data_file' ?}???? ??
  2. WITH ??( ??
  3. ????????[?BATCHSIZE?[?=?batch_size?]?],???? ??
  4. ????????[?CHECK_CONSTRAINTS?],???????? ??
  5. ????????[?CODEPAGE?[?=? 'ACP' ?|? 'OEM' ?|? 'RAW' ?|? 'code_page' ?]?], ??
  6. ????????[?DATAFILETYPE?[?=? 'char' ?|? 'native' |? 'widechar' ?|? 'widenative' ?]?],???????????? ??
  7. ????????[?FIELDTERMINATOR?[?=? 'field_terminator' ?]?], ??
  8. ????????[?FIRSTROW?[?=?first_row?]?], ??
  9. ????????[?FIRE_TRIGGERS?], ??
  10. ????????[?FORMATFILE?=? 'format_file_path' ?], ??
  11. ????????[?KEEPIDENTITY?], ??
  12. ????????[?KEEPNULLS?], ??
  13. ????????[?KILOBYTES_PER_BATCH?[?=?kilobytes_per_batch?]?],??? ??
  14. ????????[?LASTROW?[?=?last_row?]?], ??
  15. ????????[?MAXERRORS?[?=?max_errors?]?], ??
  16. ????????[? ORDER ?(?{? column ?[? ASC ?|? DESC ?]?}?[?,...n?]?)?],?? ??
  17. ????????[?ROWS_PER_BATCH?[?=?rows_per_batch?]?], ??
  18. ????????[?ROWTERMINATOR?[?=? 'row_terminator' ?]?],?????????? ??
  19. ????????[?TABLOCK?], ??
  20. )??



參數(shù):
'database_name'
是包括指定表或視圖的數(shù)據(jù)庫的名稱。假設(shè)未指定,則系統(tǒng)默覺得當(dāng)前數(shù)據(jù)庫。

'owner'
是表或視圖全部者的名稱。當(dāng)運(yùn)行大容量復(fù)制操作的用戶擁有指定的表或視圖時,owner 是可選項(xiàng)。假設(shè)沒有指定 owner 而且運(yùn)行大容量復(fù)制操作的用戶不擁有指定的表或視圖,則 Microsoft? SQL Server? 將返回錯誤信息并取消大容量復(fù)制操作。

'table_name'
是大容量復(fù)制數(shù)據(jù)于當(dāng)中的表或視圖的名稱。僅僅能使用那些全部的列引用同樣基表所在的視圖。有關(guān)向視圖中復(fù)制數(shù)據(jù)的限制的很多其它信息,請參見 INSERT。

'data_file'
是數(shù)據(jù)文件的完整路徑,該數(shù)據(jù)文件包括要拷貝到指定表或視圖的數(shù)據(jù)。BULK INSERT 從磁盤復(fù)制數(shù)據(jù)(包括網(wǎng)絡(luò)、軟盤、硬盤等)。 data_file 必須從運(yùn)行 SQL Server 的server指定有效路徑。假設(shè) data_file 是遠(yuǎn)程文件,則請指定通用命名規(guī)則 (UNC) 名稱。

BATCHSIZE [ = batch_size ]
指定批處理中的行數(shù)。每一個批處理作為一個事務(wù)復(fù)制至server。SQL Server提交或回滾(在失敗時)每一個批處理的事務(wù)。默認(rèn)情況下,指定數(shù)據(jù)文件里的全部數(shù)據(jù)是一個批處理。

CHECK_CONSTRAINTS
指定在大容量復(fù)制操作中檢查 table_name 的不論什么約束。默認(rèn)情況下,將會忽略約束。

CODEPAGE [ = 'ACP' | 'OEM' | 'RAW' | 'code_page' ]
指定該數(shù)據(jù)文件里數(shù)據(jù)的代碼頁。僅當(dāng)數(shù)據(jù)含有字符值大于 127 或小于 32 的 char、varchar 或 text 列時,CODEPAGE 才是適用的。CODEPAGE 值 描寫敘述 ACP char、varchar 或 text 數(shù)據(jù)類型的列從 ANSI/Microsoft Windows? 代碼頁 ISO 1252 轉(zhuǎn)換為 SQL Server 代碼頁。 OEM(默認(rèn)值) char、varchar 或 text 數(shù)據(jù)類型的列被從系統(tǒng) OEM 代碼頁轉(zhuǎn)換為 SQL Server 代碼頁。 RAW 并不進(jìn)行從一個代碼頁到還有一個代碼頁的轉(zhuǎn)換;這是最快的選項(xiàng)。 code_page 特定的代碼頁號碼,比如 850。

DATAFILETYPE [ = {'char' | 'native' | 'widechar' | 'widenative' } ]
指定 BULK INSERT 使用指定的默認(rèn)值運(yùn)行復(fù)制操作。DATAFILETYPE 值 描寫敘述 char(默認(rèn)值) 從含有字符數(shù)據(jù)的數(shù)據(jù)文件運(yùn)行大容量復(fù)制操作。 native 使用 native(數(shù)據(jù)庫)數(shù)據(jù)類型運(yùn)行大容量復(fù)制操作。要裝載的數(shù)據(jù)文件由大容量復(fù)制數(shù)據(jù)創(chuàng)建,該復(fù)制是用 bcp 有用工具從 SQL Server 進(jìn)行的。 widechar 從含有 Unicode 字符的數(shù)據(jù)文件里運(yùn)行大容量復(fù)制操作。 widenative 運(yùn)行與 native 同樣的大容量復(fù)制操作,不同之處是 char、varchar 和 text 列在數(shù)據(jù)文件里存儲為 Unicode。要裝載的數(shù)據(jù)文件由大容量復(fù)制數(shù)據(jù)創(chuàng)建,該復(fù)制是用 bcp 有用工具從 SQL Server 進(jìn)行的。該選項(xiàng)是對 widechar 選項(xiàng)的一個更高性能的替代,而且它用于使用數(shù)據(jù)文件從一個運(yùn)行 SQL Server 的計算機(jī)向還有一個計算機(jī)傳送數(shù)據(jù)。當(dāng)傳送含有 ANSI 擴(kuò)展字符的數(shù)據(jù)時,使用該選項(xiàng)以便利用 native 模式的性能。

FIELDTERMINATOR [ = 'field_terminator' ]
指定用于 char 和 widechar 數(shù)據(jù)文件的字段終止符。默認(rèn)的字段終止符是 /t(制表符)。

FIRSTROW [ = first_row ]
指定要復(fù)制的第一行的行號。默認(rèn)值是 1,表示在指定數(shù)據(jù)文件的第一行。

FIRE_TRIGGERS
指定目的表中定義的不論什么插入觸發(fā)器將在大容量復(fù)制操作過程中運(yùn)行。假設(shè)沒有指定 FIRE_TRIGGERS,將不運(yùn)行不論什么插入觸發(fā)器。

FORMATFILE [ = 'format_file_path' ]
指定一個格式文件的完整路徑。格式文件描寫敘述了含有存儲響應(yīng)的數(shù)據(jù)文件,這些存儲響應(yīng)是使用 bcp 有用工具在同樣的表或視圖中創(chuàng)建的。格式文件應(yīng)該用于下面情況: 數(shù)據(jù)文件含有比表或視圖很多其它或更少的列。列使用不同的順序。列切割符發(fā)生變化。數(shù)據(jù)格式有其它的改變。通常,格式文件通過 bcp 有用工具創(chuàng)建而且依據(jù)須要用文本編輯器改動。有關(guān)很多其它信息,請參見 bcp 有用工具。

KEEPIDENTITY
指定標(biāo)識列的值存在于導(dǎo)入文件里。假設(shè)沒有指定 KEEPIDENTITY,在導(dǎo)入的數(shù)據(jù)文件里此列的標(biāo)識值將被忽略,而且 SQL Server 將依據(jù)表創(chuàng)建時指定的種子值和增量值自己主動賦給一個唯一的值。假如數(shù)據(jù)文件不含該表或視圖中的標(biāo)識列,使用一個格式文件來指定在導(dǎo)入數(shù)據(jù)時,表或視圖中的標(biāo)識列應(yīng)被忽略;SQL Server 自己主動為此列賦予唯一的值。有關(guān)具體信息,請參見 DBCC CHECKIDENT。

KEEPNULLS
指定在大容量復(fù)制操作中空列應(yīng)保留一個空值,而不是對插入的列賦予默認(rèn)值。

KILOBYTES_PER_BATCH [ = kilobytes_per_batch ]
指定每一個批處理中數(shù)據(jù)的近似千字節(jié)數(shù)(KB)。默認(rèn)情況下,KILOBYTES_PER_BATCH 未知。

LASTROW [ = last_row ]
指定要復(fù)制的最后一行的行號。默認(rèn)值是 0,表示指定數(shù)據(jù)文件里的最后一行。

MAXERRORS [ = max_errors ]
指定在大容量復(fù)制操作取消之前可能產(chǎn)生的錯誤的最大數(shù)目。不能被大容量復(fù)制操作導(dǎo)入的每一行將被忽略而且被計為一次錯誤。假設(shè)沒有指定 max_errors,默認(rèn)值為 0。

ORDER ( { column [ ASC | DESC ] } [ ,...n ] )
指定數(shù)據(jù)文件里的數(shù)據(jù)怎樣排序。假設(shè)裝載的數(shù)據(jù)依據(jù)表中的聚集索引進(jìn)行排序,則能夠提高大容量復(fù)制操作的性能。假設(shè)數(shù)據(jù)文件基于不同的順序排序,或表中沒有聚集索引,ORDER 子句將被忽略。給出的列名必須是目的表中有效的列。默認(rèn)情況下,大容量插入操作假設(shè)數(shù)據(jù)文件未排序。n是表示能夠指定多列的占位符。

ROWS_PER_BATCH [ = rows_per_batch ]
指定每一批處理數(shù)據(jù)的行數(shù)(即 rows_per_bacth)。當(dāng)沒有指定 BATCHSIZE 時使用,導(dǎo)致整個數(shù)據(jù)文件作為單個事務(wù)發(fā)送給server。server依據(jù) rows_per_batch 優(yōu)化大容量裝載。默認(rèn)情況下,ROWS_PER_BATCH 未知。

ROWTERMINATOR [ = 'row_terminator' ]
指定對于 char 和 widechar 數(shù)據(jù)文件要使用的行終止符。默認(rèn)值是 /n(換行符)。

TABLOCK
指定對于大容量復(fù)制操作期間獲取一個表級鎖。假設(shè)表沒有索引而且指定了 TABLOCK,則該表能夠同一時候由多個client裝載。默認(rèn)情況下,鎖定行為是由表選項(xiàng) table lock on bulk load 決定的。僅僅在大容量復(fù)制操作期間控制鎖會降低表上的鎖爭奪,極大地提高性能。凝視BULK INSERT 語句能在用戶定義事務(wù)中運(yùn)行。對于一個用 BULK INSERT 語句和 BATCHSIZE 子句將數(shù)據(jù)裝載到使用多個批處理的表或視圖中的用戶定義事務(wù)來說,回滾它將回滾全部發(fā)送給 SQL Server 的批處理。權(quán)限僅僅有 sysadmin 和 bulkadmin 固定server角色成員才干運(yùn)行 BULK INSERT。

演示樣例本例從指定的數(shù)據(jù)文件里導(dǎo)入訂單具體信息,該文件使用豎杠 (|) 字符作為字段終止符,使用 |/n 作為行終止符。

Sql代碼
  1. BULK? INSERT ?Northwind.dbo.[ Order ?Details]??? FROM ? 'f:/orders/lineitem.tbl' ?? ??
  2. WITH ?( ??
  3. ?????FIELDTERMINATOR?=? '|' ,????????? ??
  4. ?????ROWTERMINATOR?=? '|/n' ?????? ??
  5. )??


本例指定 FIRE_TRIGGERS 參數(shù)。

Sql代碼
  1. BULK? INSERT ?Northwind.dbo.[ Order ?Details]??? FROM ? 'f:/orders/lineitem.tbl' ??? ??
  2. WITH ?(? ??
  3. ?????FIELDTERMINATOR?=? '|' ,???????? ??
  4. ?????ROWTERMINATOR?=? ':/n' ,???????? ??
  5. ?????FIRE_TRIGGERS?????? ??
  6. ) ??
  7. ============================================================= ??
  8. BULK? INSERT ? ??
  9. ???[?database_name?.?[?schema_name?]?.?|?schema_name?.?]?[?table_name?|?view_name?]? ??
  10. ?????? FROM ? 'data_file' ? ??
  11. ?????[? WITH ? ??
  12. ????????(? ??
  13. ???[?[?,?]?BATCHSIZE?=?batch_size?]???? --BATCHSIZE指令來設(shè)置在單個事務(wù)中能夠插入到表中的記錄的數(shù)量 ??
  14. ???[?[?,?]?CHECK_CONSTRAINTS?]????? --指定在大容量導(dǎo)入操作期間,必須檢查全部對目標(biāo)表或視圖的約束。若沒有?CHECK_CONSTRAINTS?選項(xiàng),則全部?CHECK?和?FOREIGN?KEY?約束都將被忽略,而且在此操作之后表的約束將標(biāo)記為不可信。 ??
  15. ???[?[?,?]?CODEPAGE?=?{? 'ACP' ?|? 'OEM' ?|? 'RAW' ?|? 'code_page' ?}?]?? --指定該數(shù)據(jù)文件里數(shù)據(jù)的代碼頁 ??
  16. ???[?[?,?]?DATAFILETYPE?=? ??
  17. ??????{? 'char' ?|? 'native' |? 'widechar' ?|? 'widenative' ?}?]?? --指定?BULK?INSERT?使用指定的數(shù)據(jù)文件類型值運(yùn)行導(dǎo)入操作。 ??
  18. ???[?[?,?]?FIELDTERMINATOR?=? 'field_terminator' ?]?? --標(biāo)識分隔內(nèi)容的符號 ??
  19. ???[?[?,?]?FIRSTROW?=?first_row?]???? --指定要載入的第一行的行號。默認(rèn)值是指定數(shù)據(jù)文件里的第一行 ??
  20. ???[?[?,?]?FIRE_TRIGGERS?]????? --是否啟動觸發(fā)器 ??
  21. ???[?[?,?]?FORMATFILE?=? 'format_file_path' ?]? ??
  22. ???[?[?,?]?KEEPIDENTITY?]??? --指定導(dǎo)入數(shù)據(jù)文件里的標(biāo)識值用于標(biāo)識列 ??
  23. ???[?[?,?]?KEEPNULLS?]???? --指定在大容量導(dǎo)入操作期間空列應(yīng)保留一個空值,而不插入用于列的不論什么默認(rèn)值 ??
  24. ???[?[?,?]?KILOBYTES_PER_BATCH?=?kilobytes_per_batch?]? ??
  25. ???[?[?,?]?LASTROW?=?last_row?]??? --指定要載入的最后一行的行號 ??
  26. ???[?[?,?]?MAXERRORS?=?max_errors?]??? --指定同意在數(shù)據(jù)中出現(xiàn)的最多語法錯誤數(shù),超過該數(shù)量后將取消大容量導(dǎo)入操作。 ??
  27. ???[?[?,?]? ORDER ?(?{? column ?[? ASC ?|? DESC ?]?}?[?,...n?]?)?]?? --指定數(shù)據(jù)文件里的數(shù)據(jù)怎樣排序 ??
  28. ???[?[?,?]?ROWS_PER_BATCH?=?rows_per_batch?]? ??
  29. ???[?[?,?]?ROWTERMINATOR?=? 'row_terminator' ?]??? --標(biāo)識分隔行的符號 ??
  30. ???[?[?,?]?TABLOCK?]????? --指定為大容量導(dǎo)入操作持續(xù)時間獲取一個表級鎖 ??
  31. ???[?[?,?]?ERRORFILE?=? 'file_name' ?]??? --指定用于收集格式有誤且不能轉(zhuǎn)換為?OLE?DB?行集的行的文件。 ??
  32. ????????)]???


以下寫個個簡單的應(yīng)用樣例

Sql代碼
  1. bulk? insert ?xsxt.dbo.tabletest? from ? 'c:/data.txt' ??
  2. ? with ( ??
  3. ???FIELDTERMINATOR= ',' , ??
  4. ???ROWTERMINATOR= '/n' ??
  5. )??

Bulk Insert命令具體


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 女人18毛片a级 | 久久精品欧美一区二区 | 欧美久久网 | 99热这里只有精品9 99热这里只有精品99 | 天天干天天操天天舔 | 97在线免费看视频 | 99久久一区 | 9re视频这里只有精品 | 成人亚洲欧美日韩中文字幕 | 天天综合天天干 | 鲁丝一区二区三区不属 | 国产精品亚洲专一区二区三区 | 国产欧美专区在线观看 | 国产亚洲精品久久午夜 | 欧美日韩操 | 国产精品98福利小视频 | 狠狠色噜噜狠狠狠狠色综合久 | 久久99亚洲精品久久久久 | 欧美久草视频 | 国产精品久久久久久久小唯西川 | 四虎免费永久网站入口 | 亚洲一区中文字幕 | 欧美成人禁片在线观看网址 | 久草首页在线 | 77yyzz男人的天堂 | a久久久久一级毛片护士免费 | 亚洲欧美国产精品专区久久 | 婷婷激情综合 | 九九碰 | 夜夜爱夜夜爽夜夜做夜夜欢 | 免费观看成人毛片 | 四虎成人免费影院网址 | 99精品国产在热久久 | 99久久精品免费看国产交换 | 国产精品揄拍100视频 | 偷偷鲁国内视频视频在线 | 91精品视频在线播放 | 青青青青久久国产片免费精品 | 亚洲高清一区二区三区久久 | 香蕉在线精品一区二区 | 四虎免费在线播放 |