当前位置: 首页 > 知识库问答 >
问题:

在CSV文件中大容量插入不同的列号

干亮
2023-03-14
USE [Database]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[delete_fill]
    AS

    TRUNCATE TABLE dataImport

    BULK
    INSERT dataImport
    FROM 'c:\fileshare\temp.CSV'
    WITH
    (
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n'
    )

    SELECT * FROM dataImport ORDER BY StoreID, ItemID
    RETURN
Create table dataImport(
StoreID BIGINT not null,
ItemID BIGINT not null,
Price money not null,
TwoforQuantity Int,
TwoforPrice money
)

3栏:

StoreID, ItemID, Price
133,51425,11.79
133,80277,1.49
133,15544,5.28

5栏:

StoreID, ItemID, Price, IntField, MoneyField
133,51425,11.79,2,20.99
133,80277,1.49,2,2.00
133,15544,5.29,3,14.99

共有1个答案

欧阳睿范
2023-03-14

不久前我也面临过类似的问题。以下是我们如何解决这个问题的粗略概述:

  • 数据文件包含X个列,其中列实际上是按随机顺序排列的
  • 第一行列出列,下面的行包含数据
  • 表包含Y列。除了主键列之外,不能假设哪个列在哪个集合中

解决方案:

    null
 类似资料:
  • 现在我正在进口一个大的。CSV文件到PowerShell中,目前只是将所有数据放入一个变量中。我的问题是如何将每列分割成不同的变量? 我正尝试使用ForEach对象来实现此目的,但我对Powershell还是比较陌生,需要一些帮助。 现行代码 试图做这样的事 我希望每一列数据都位于不同的变量中,这样就可以更容易地使用其中一列进行操作。

  • 我正在使用大容量插入将文本文件读入SQL Server表。当我尝试使用bulk insert时,我总是会遇到同样的错误,尽管如果我取文本文件的第一行,并将值复制到一个普通的旧insert into语句中,一切都正常。我的数据库stop_times的设置如下: 但是,将第一行复制并粘贴到 管用。我觉得我在大容量插入函数中遗漏了一些非常明显的东西,但我一无所知。

  • 我正在使用以下代码: 如果文件中有4列,则希望数据库表中的第5行为。

  • 就像有人说的第二种方式更慢,但我不确定,那么哪种方式更好呢?不能使数据库崩溃。

  • 问题内容: 我有一些要导入mySQL的CSV数据文件。我想在shell脚本中进行插入,以便可以将其自动化。但是,我对在脚本中使用明文形式输入用户名和密码感到有些厌倦 我有以下问题: 我对脚本中明文中的uname / pwd的想法感到不满意(反正还是这样,还是我太偏执)?也许我可以为插入表设置仅具有INSERT特权的用户? 数据库表(导入原始数据的数据库表)具有基于表列的唯一键。我尝试导入的数据中也

  • 我想用javascript在csv文件的列中写一个字符串。我使用下面的代码,但是它在一列中写入整个字符串。 这就是我如何创建csv fi: 有什么建议吗?