从视图大容量导出数据或将数据大容量导入视图

使用 bcp 命令可以从任意视图大容量导出数据。

按照下述步骤可将数据大容量导入视图:

  • 未分区视图

    使用 bcp 命令、BULK INSERT 语句或 INSERT ...SELECT * FROM OPENROWSET(BULK...) 语句可以向未分区视图中大容量导入数据。

  • 分区视图

    不支持向分区视图中进行大容量导入。不过,您可以使用 INSERTTransact-SQL 语句在分区视图中插入多个行,但是没有大容量优化。

所有大容量导入操作都符合向视图中插入数据的规则。有关这些规则的信息,请参阅通过视图修改数据

重要说明重要提示

执行任何大容量导入操作时对默认值的处理方法取决于所使用的大容量导入命令或语句。有关详细信息,请参阅在大容量导入期间保留 Null 值或使用默认值

示例

下面的示例使用 AdventureWorks2008R2 示例数据库中 HumanResources.DepartmentView 表的视图。在查询工具(如 SQL Server Management Studio 查询编辑器)中执行以下语句:

CREATE VIEW DepartmentView AS 
    SELECT DepartmentID, Name, GroupName 
    FROM HumanResources.Department;
GO

以下命令将数据从 DepartmentView 视图大容量导出到 DepartmentView.txt 数据文件中。在 Microsoft Windows 命令提示符下输入:

bcp AdventureWorks2008R2..DepartmentView out DepartmentView.txt -c -T

若要删除该示例视图,请执行下列 Transact-SQL 语句:

DROP VIEW DepartmentView;
GO
注意注意

有关在 BULK INSERT 命令中使用视图的示例,请参阅使用格式化文件跳过表列