Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用另一个表中的随机数据更新SQL列_Sql_Oracle - Fatal编程技术网

使用另一个表中的随机数据更新SQL列

使用另一个表中的随机数据更新SQL列,sql,oracle,Sql,Oracle,我想在表1的记录中插入表2的随机名称 表1:ID。。。名称进一步数据 表2:名称 是否可以在一个简单的SQL语句中实现这一点 亲切问候我想,您需要将表2中尚未出现的所有名称插入表1中 INSERT INTO Table1 (name) SELECT table2.Name From table2 Where table2.Name NOT IN (SELECT table1.Name From table1) 类似这样的方法可以获得100个随机名称: insert into table1(

我想在表1的记录中插入表2的随机名称

表1:ID。。。名称进一步数据 表2:名称 是否可以在一个简单的SQL语句中实现这一点


亲切问候

我想,您需要将表2中尚未出现的所有名称插入表1中

INSERT INTO Table1 (name)
SELECT table2.Name 
From table2 
Where table2.Name NOT IN (SELECT table1.Name From table1)

类似这样的方法可以获得100个随机名称:

insert into table1(name)
    select name
    from (select name
          from table2
          order by dbms_random.random()
         ) t
    where rownum <= 100;
当然,您可能希望为其他列提供值,但您的问题似乎特别是关于从第二个表中获取随机值


在Oracle12中,您不需要子查询。只能使用fetch first rows。

与两个表之间是否存在关系?是否插入新记录或更新现有记录?否,表之间没有关系。表1有超过100000条记录,表2包含30000条记录。表1的每条记录都应该有一个表2的随机名称。因此,许多名字可能不止出现一次。