轉(zhuǎn)載自幫助文檔
ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.zh-CHS/s10de_6tsql/html/f47eda43-33aa-454d-840a-bb15a031ca17.htm
使用帶有 BULK 選項的 OPENROWSET
以下 Transact-SQL 增強功能支持 OPENROWSET(BULK...)函數(shù):
- 與 SELECT 一起使用的 FROM 子句可以調(diào)用 OPENROWSET(BULK...)而非表名,同時可以實現(xiàn)完整的 SELECT 功能。
帶有 BULK 選項的 OPENROWSET 在 FROM 子句中需要有一個相關(guān)名稱,也稱為范圍變量或別名。可以指定列別名。如果未指定列別名列表,則格式化文件必須具有列名。指定列別名會覆蓋格式化文件中的列名,例如:
FROM OPENROWSET(BULK...) AS table_alias
FROM OPENROWSET(BULK...) AS table_alias(column_alias,...n)
- SELECT...FROM OPENROWSET(BULK...)語句將直接查詢文件中的數(shù)據(jù),無需將數(shù)據(jù)導入表中。SELECT…FROM OPENROWSET(BULK...)語句還可以通過使用格式化文件指定列名和數(shù)據(jù)類型,從而列出大容量列別名。
- 通過將 OPENROWSET(BULK...)用作 INSERT 或 MERGE 語句中的源表,將數(shù)據(jù)文件中的數(shù)據(jù)大容量導入 SQL Server 表中。有關(guān)詳細信息,請參閱使用 BULK INSERT 或 OPENROWSET(BULK...) 導入大容量數(shù)據(jù)。
- OPENROWSET BULK 選項與 INSERT 語句一起使用時,BULK 子句支持表提示。BULK 子句除了接受 TABLOCK 等常規(guī)表提示之外,還可以接受下列專用表提示:IGNORE_CONSTRAINTS(僅忽略 CHECK 和 FOREIGN KEY 約束)、IGNORE_TRIGGERS、KEEPDEFAULTS 和 KEEPIDENTITY。有關(guān)詳細信息,請參閱表提示 (Transact-SQL)。
有關(guān)如何使用 INSERT...SELECT * FROM OPENROWSET(BULK...) 語句的信息,請參閱導入和導出大容量數(shù)據(jù)。有關(guān)何時在事務日志中記錄由大容量導入執(zhí)行的行插入操作的信息,請參閱在大容量導入中按最小方式記錄日志的前提條件。
注意: |
使用 OPENROWSET 時,請務必了解 SQL Server 是如何處理模擬的。有關(guān)安全注意事項的信息,請參閱使用 BULK INSERT 或 OPENROWSET(BULK...) 導入大容量數(shù)據(jù)。 |
一些奇怪的示例:
declare @obj varbinary(max)
set @obj=(select * FROM OPENROWSET (Bulk 'c:\123.jpg', SINGLE_BLOB) as obj )
select @obj
Insert Infomation_Info(Title,Content,RecordUserID,Abstract,
Source,SourceWebsite,ApproveID,Disable,Remark,Status,
Thumbnail)
Select @Title,@Content,@RecordUserID,@Abstract,
@Source,@SourceWebsite,@ApproveID,@Disable,@Remark,@Status,
* FROM OPENROWSET (Bulk 'c:\123.jpg', SINGLE_BLOB) AS Thumbnail
posted on 2009-09-15 08:49
黃小二 閱讀(1135)
評論(0) 編輯 收藏 所屬分類:
[DB].SQL Server