SQL Update列包含来自另一个表的随机数据

时间:2015-01-23 17:56:01

标签: sql oracle

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

  • 表1:ID ...名称...... FurtherData
  • 表2:名称

是否可以在简单的SQL语句中实现这一点?

亲切的问候

2 个答案:

答案 0 :(得分:0)

我认为,您希望将table2中的所有名称插入到table1中,而那些名称尚未存在

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

答案 1 :(得分:0)

这样可以获得100个随机名称:

insert into table1(name)
    select name
    from (select name
          from table2
          order by dbms_random.random()
         ) t
    where rownum <= 100;

当然,您可能希望为其他列提供值,但您的问题似乎是关于从第二个表中获取随机值。

在Oracle 12中,您不需要子查询。您可以使用fetch first <n> rows only