当前位置: 首页 > 面试题库 >

使用SQL * Loader更新表中的列?

鱼恩
2023-03-14
问题内容

我写了一个具有以下查询的SQL脚本。查询工作正常。

update partner set is_seller_buyer=1 where id in (select id from partner 
where names in 
(
'A','B','C','D','E',... // around 100 names.
));

但是现在,我不想在查询本身中编写大约100个名称,而是要从CSV文件中获取所有名称。我在互联网上读到有关SQL * Loader的信息,但在更新查询上却得不到很多。我的csv文件仅包含名称。

在此处输入图片说明

我试过了

  load data
  infile 'c:\data\mydata.csv'
  into table partner set is_wholesaler_reseller=1
  where id in (select id from partner 
  where names in 
  ( 
  'A','B','C','D','E',... // around 100 names.
  ));
  fields terminated by "," optionally enclosed by '"'         
  ( names, sal, deptno )

我怎样才能做到这一点?提前致谢。


问题答案:

SQL * Loader不执行更新,仅执行插入。因此,您应该将名称插入一个单独的表(例如)中names,然后从中运行更新:

update partner set is_seller_buyer=1 where id in (select id from partner 
where names in 
(
select names from names
));

您的加载程序脚本可以更改为:

load data
  infile 'c:\data\mydata.csv'
  into table names
  fields terminated by "," optionally enclosed by '"'         
  ( names, sal, deptno )

一种替代方法是使用外部表,该表允许Oracle将平面文件当作表一样对待。在这里可以找到一个入门的示例。



 类似资料:
  • 问题内容: 我需要根据从以下两个表中提取的数据创建一个新表: 第一表: 第二张表: 新表应包含一个“ Var”列和一个“Number”列,其中每个变量将包含一行带有cur_number的行,其余各行将包含第二个表的new_number列中的数字,其中。例如,在上面显示的示例中,对于A,将有一行,行数为10(其cur_number),另一行为“ 2”(因为2 <10,但是11>10)。 在我的示例中

  • 问题内容: 我在SQL Server 2008中有一个表,其中有一些列。这些列之一是Xml格式,我想更新一些属性。 例如,我的Xml列的名称为,它在前5行中的值如下: 我想将所有属性设置为30到40,如下所示: 问题答案: 从问题的早期版本看来,您的XML实际上位于表的不同行上。在这种情况下,您可以使用此功能。 使用表变量的工作样本。

  • 问题内容: 表格1: 表2: 在oracle SQL中,如何运行 sql更新 查询,该查询可以使用表2并使用表2来更新表1 ?所以我得到的最终结果是 表格1: 问题答案: 这称为相关更新 假设联接导致键保留视图,您还可以

  • 问题内容: 我正在尝试执行以下更新查询: 该查询显然是错误的,因为它不起作用。我该如何解决? 该查询应该使用和()的串联值来更新列。但是,在另一个名为的表上,这就是为什么我尝试执行内部联接的原因。 我在做什么错,我该如何解决?非常感谢你。 问题答案: 我看不到任何迹象显示在文档即或 在支持的语句。 如果没有,也许您可​​以尝试相关的子查询。

  • 问题内容: 我试图用Final中的值更新表Original。我是SQL的新手,但是我已经花了两个小时尝试更改各种样本以满足我的需求。我正在使用Access 2007。 问题答案: 我不确定您的陈述仅返回一行。如果要使用分配语句对表执行更新,则 必须 确保它仅返回一行。 除此之外,您可以考虑下一个解决方案: 请注意,只有当两者都是表和表中的唯一键并且它们之间具有适当的关联时,这才可以正常工作。

  • 问题内容: 我有一个一般性的问题,我将尝试通过一个例子来解释。 假设我有一个包含以下字段的表格:“ id”,“ name”,“ category”,“ appearances”和“ ratio” 我的想法是,我有几个项目,每个项目都与一个类别相关,并且多次“出现”。比率字段应包括类别中项目出现的总数中每个项目出现的百分比。 用伪代码,我需要以下内容: 对于每个类别, 找到与该 类别 相关的项目的总