SQL语句:插入给定表中的所有ID

  • 本文关键字:ID 语句 插入 SQL sql oracle
  • 更新时间 :
  • 英文 :


下面有一个sql语句,它在存储id和";mytest-0";来自另一张桌子。对于STOREID=16,这确实有效,但问题是我有100个存储ID,并且必须重复该语句100次。是否有方法覆盖STORE表中所有100 STORED?此外,STOREID不是从1到100的整数,而是从16开始到547结束的各种数字。这是针对Oracle数据库的。

insert into MAPPING (MAPPINGID, STOREID, GARMENTID, LASTMODIFIEDDATE)
values (MAPPINGID_SEQ.nextval, 16, (select g.GARMENTID from GARMENT g where UPPER(g.GARMENTNAME) = UPPER('mytest-0')), SYSDATE);

非常感谢这里的帮助。我不知道我所问的是否真的可能。

您可以使用INSERT ... SELECT ... FROM存储表。

假设存储表称为store,ID列为storeid:

INSERT INTO mapping
(mappingid,
storeid,
garmentid,
lastmodifieddate)
SELECT mappingid_seq.nextval,
s.storeid,
g.garmentid,
sysdate
FROM store s
LEFT JOIN garment g
ON upper(g.garmentname) = upper('mytest-0');

最新更新