SQL插入操作中如何将多个EMPID与同一SUPID分条插入MANAGING表
你原来的SQL语法错误原因是声明了2个插入字段(SUPID、EMPID),但传入了4个值,字段和值数量不匹配。
要实现同个SUPID对应三个不同EMPID插入三条记录,主流数据库(MySQL 5.1+、PostgreSQL、SQL Server 2008+、Oracle 12c+)都支持标准多行VALUES语法,写法如下:
INSERT INTO MANAGING(SUPID, EMPID) VALUES (76, 1), (76, 4), (76, 8);
如果使用不支持多行VALUES的老版本数据库,可以改用INSERT ... SELECT的兼容写法:
INSERT INTO MANAGING(SUPID, EMPID) SELECT 76, EMPID FROM ( SELECT 1 AS EMPID UNION ALL SELECT 4 UNION ALL SELECT 8 ) AS EMP_LIST;
两种写法执行后都会生成三条独立记录,SUPID均为76,EMPID分别为1、4、8。
内容的提问来源于stack exchange,提问作者Xavier.code
相关产品推荐
相关产品推荐

