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

SQL Server 2012:基于主键从CSV更新数据

拓拔稳
2023-03-14

所以我的数据库里有这个表。我们将其称为users

UserID   UserName   UserDescription
-----------------------------------
1        test1      Test User #1
2        test2      Test User #2
3        test3      Test User #3
4        test4      Test User #4
5        test5      Test User #5

我有这个CSV文件:

1,"Harry Potter"
4,"Hermione Granger"
3,"Ron Weasley"
UserID   UserName   UserDescription
-----------------------------------
1        test1      Harry Potter
2        test2      Test User #2
3        test3      Ron Weasley
4        test4      Hermione Granger
5        test5      Test User #5

共有1个答案

郏正信
2023-03-14

可以使用openrowset访问SQL Server中的csv文件。此示例假定表和csv文件中有匹配的列名。您可以根据需要调整文件名、目录和列名:

update users
    set users.UserDescription = csv.UserDescription
    from users
        inner join openrowset('MSDASQL',
            'Driver={Microsoft Access Text Driver (*.txt, *.csv)}',
            'select * from C:\YourCSV.csv') as csv
            on csv.UserID = users.UserID
 类似资料:
  • 我正在使用jOOQ为我的数据库表生成POJO。这很有效。 我有一个带有主键()和唯一键()的表。更新记录时,jOOQ使用主键。 我想通过使用唯一键而不是主键来更新记录。 https://github.com/jOOQ/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/impl/UpdatableRecordImpl.java 本质上,我想用另一个键(第二个参

  • 我正在尝试根据AD用户的employeeID号更新他们。它是我们组织的一个可靠的关键领域。 本例中的每个用户都是用employeeID属性创建的。我对用户的初始创建(New-ADuser)使用相同的csv(只是设置较少的属性),正如我对用户的更新(Set-ADUser)一样。 大部分的内容都很简单,而且大部分都是从这里获取的。我成功地导入了我的csv,并且可以打印我的变量。我的结果消息表明,当我执

  • 一开始我尝试过,如下所示,但仍然没有结果: 将两个外键定义为实体框架中的主键 实体框架两个外键作为主键 这是我的实体: 我正在尝试基于两个外键创建主键。有一个错误 EntityType“Passage”未定义键。定义此EntityType的键。 我做错了什么?

  • 问题内容: 有没有一种方法可以将两个主键合并为一个,然后级联更新所有受影响的关系?这是场景: 客户(idCustomer int PK,公司varchar(50)等) CustomerContacts(idCustomerContact int PK,idCustomer int FK,名称varchar(50)等) CustomerNotes(idCustomerNote int PK,idCu

  • 问题内容: 我想更改一个主键和所有引用此值的表行。 如果我提供脚本或功能 我想创建一个SQL代码段,该代码段在引用表“ master”的所有表上执行更新: 在自省的帮助下,这应该是可能的。 我使用postgres。 更新 问题是,有许多表具有表“ master”的外键。我想要一种自动更新所有具有主表外键的表的方法。 问题答案: 如果您需要更改PK,可以使用: SET CONSTRAINTS设置当前