Bulk insert如何匯入部分欄位的資料

2021-07-28 13:55:10 字數 2701 閱讀 1995

if object_id('employee') is not null

drop table employee

gocreate table employee(

id int,

name varchar(100),

designation varchar(100)

)bulk

insert employee

from 'd:\\test.txt' --location with filename

with

(fieldterminator = '|',

rowterminator = '\n'

)select * from employee

truncate table employee

--先建立乙個檢視,選擇你需要的字段

create view v_test

as select id,name from dbo.employee

--然後就是bcp操作

exec sp_configure 'show advanced options', 1;

reconfigure;

exec sp_configure 'xp_cmdshell', 1;

exec sp_configure 'show advanced options', 0;

reconfigure;

go exec master..xp_cmdshell 'bcp tempdb.dbo.v_test format nul -f d:/v_test_fmt.xml -x -c -t '

go exec master..xp_cmdshell 'bcp "select id,name from tempdb.dbo.employee" queryout d:/t_test.txt -f d:/v_test_fmt.xml -t '

go --select * from dbo.v_test

--格式化檔案和資料檔案都有了,就成了.

bulk insert dbo.employee

from n'd:/t_test.txt'

with

( formatfile = n'd:/v_test_fmt.xml'

) go

exec sp_configure 'show advanced options', 1;

reconfigure;

exec sp_configure 'xp_cmdshell', 0;

exec sp_configure 'show advanced options', 0;

reconfigure;

go select * from dbo.employee

bulk insert

[ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ]

from 'data_file'

[ with

( [ [ , ] batchsize = batch_size ] --batchsize指令來設定在單個事務中可以插入到表中的記錄的數量

[ [ , ] check_constraints ] --指定在大容量匯入操作期間,必須檢查所有對目標表或檢視的約束。若沒有 check_constraints 選項,則所有 check 和 foreign key 約束都將被忽略,並且在此操作之後表的約束將標記為不可信。

[ [ , ] codepage = ] --指定該資料檔案中資料的**頁

[ [ , ] datafiletype =

] --指定 bulk insert 使用指定的資料檔案型別值執行匯入操作。

[ [ , ] fieldterminator = 'field_terminator' ] --標識分隔內容的符號

[ [ , ] firstrow = first_row ] --指定要載入的第一行的行號。預設值是指定資料檔案中的第一行

[ [ , ] fire_triggers ] --是否啟動觸發器

[ [ , ] formatfile = 'format_file_path' ]

[ [ , ] keepidentity ] --指定匯入資料檔案中的標識值用於標識列

[ [ , ] keepnulls ] --指定在大容量匯入操作期間空列應保留乙個空值,而不插入用於列的任何預設值

[ [ , ] kilobytes_per_batch = kilobytes_per_batch ]

[ [ , ] lastrow = last_row ] --指定要載入的最後一行的行號

[ [ , ] maxerrors = max_errors ] --指定允許在資料中出現的最多語法錯誤數,超過該數量後將取消大容量匯入操作。

[ [ , ] order ( [ ,...n ] ) ] --指定資料檔案中的資料如何排序

[ [ , ] rows_per_batch = rows_per_batch ]

[ [ , ] rowterminator = 'row_terminator' ] --標識分隔行的符號

[ [ , ] tablock ] --指定為大容量匯入操作持續時間獲取乙個表級鎖

[ [ , ] errorfile = 'file_name' ] --指定用於收集格式有誤且不能轉換為 ole db 行集的行的檔案。

)]

如何匯入PullToRefresh

修改library的build.gradle中的sdk版本 修改前 compilesdkversion 16 buildtoolsversion 27.0.3 defaultconfig 修改後 compilesdkversion 27 buildtoolsversion 27.0.3 defaul...

如何檢測Remote Objects是否部署成功

在除錯.net remoting 程式時,經常會出現一些莫名其妙的問題,ide提示的異常資訊有時也不一定正確。很多時候都是自己粗心,配置 configuration 檔案上出了問題,包括 client 和server 端的配置檔案。言歸正傳,這裡看看如何檢測 remote objects 是否部署成...

如何檢測Remote Objects是否部署成功

在除錯.net remoting 程式時,經常會出現一些莫名其妙的問題,ide提示的異常資訊有時也不一定正確。很多時候都是自己粗心,配置 configuration 檔案上出了問題,包括 client 和server 端的配置檔案。言歸正傳,這裡看看如何檢測 remote objects 是否部署成...