使用另一个表中的随机数据更新SQL列
我想在表1的记录中插入表2的随机名称 表1:ID。。。名称进一步数据 表2:名称 是否可以在一个简单的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(
亲切问候我想,您需要将表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的随机名称。因此,许多名字可能不止出现一次。