sql-server - 使用 BCP 插入固定值
问题描述
我正在尝试使用 bcp 导入 TXT 文件。
我的TXT文件是这样的:
abc|cba xyz|zyx
我的表是这样的:
Field_1 -> Identity field Field_2 -> Varchar(3) Field_3 -> Varchar(3) Filed_4 -> Varchar(1) In this case I must set with default value 'P' Filed_5 -> Varchar(1) In this case I must set with default value 'C'
我的值表必须是:
1,abc,cba,P,C 2,xyz,zyx,P,C
注意-> 我的 TXT 文件很大(大约 200GB),我不能导入另一个表然后将所有值传递给这个表(只是说)。
@@版本-> SQL Server 2014 (SP2)
解决方案
您不能通过 BCP 生成数据,正如 Jeroen 所说,您必须依赖 SQL Server 来执行此操作。要添加到他的评论中,标识值不是默认值,您应该继续使用列的标识属性。
对于两者(身份和默认),您必须使用 BCP 的 -f 选项。此选项包含格式文件,以指示 BCP 实用程序查看和处理格式文件中所述的数据。
使用格式文件,您可以指定文件中的哪些列映射到目标表中的哪些列。要排除一列,只需将其目标值设置为“0”。
格式文件和 bcp 实用程序本身就是更大的主题,但要回答您的问题;是的,这是可能的,并且使用具有修改后的目标值(设置为“0”)的格式文件是这样做的方法。
这样做,您可以处理一次数据。使用 powershell 附加数据是可能的,但不必要且效率较低。要使用 bcp 在一个操作中执行此操作,您需要使用格式文件。
推荐阅读
- java - 线程“主”java.lang.NegativeArraySizeException 中的 Java ArrayList 异常:-28
- javascript - 将 html 字符串和对象的映射数组反应到一个 DOM 元素
- python - Python:“int”对象在嵌套枚举(列表)中不可迭代
- c# - 来自 DataStream 的 SharpDX Texture2D
- android - 在 Android Studio 中存储 JSONArrayRequest 响应
- newline - 将输出存储在变量中时,echo 命令不保留 \n 字符 - bash shell 脚本
- reactjs - 如何在反应中使用 setSate 更改按钮背景颜色和文本颜色?
- r - 如何合并多级数据集并重复国家年观测?
- python - 在给定列的一行中删除逗号的其他方法
- python - 将图像帧写入 gstreamer rtp 管道