SQL中的条件插入语句

Posted

技术标签:

【中文标题】SQL中的条件插入语句【英文标题】:Conditional insert statement in SQL 【发布时间】:2016-04-18 08:33:07 【问题描述】:

我有一个INSERT 语句,我需要从另一个表中填充一列emp_id。我的 SQL 如下所示,但不起作用。

任何帮助将不胜感激。请注意,这只是一个独立的 SQL,而不是任何 plsql 的一部分。

 INSERT INTO employee_demo (emp_id, emp_name, salary, created_by, created_dt, status) 
     SELECT
         emp_id 
     FROM 
         employee 
     WHERE 
         emp_country IN ('Austria', 'Belgium', 'France', 'Spain'), 'John Brown', '10000', 2, sysdate, 'A';

【问题讨论】:

【参考方案1】:

试试这个

INSERT INTO employee_demo (emp_id, emp_name, salary, created_by, created_dt, status) 
    select emp_id, 'John Brown', '10000', 2, sysdate, 'A' 
    from employee where emp_country IN('Austria', 'Belgium', 'France', 'Spain');

【讨论】:

【参考方案2】:

你可以试试这个:

INSERT INTO employee_demo (emp_id, emp_name, salary, created_by, created_dt, status) 
select emp_id, 'John Brown' as emp_name, 10000 as salary, 2 as created_by, sysdate as created_dt, 'A' as status from employee where emp_country IN('Austria', 'Belgium', 'France', 'Spain');

【讨论】:

以上是关于SQL中的条件插入语句的主要内容,如果未能解决你的问题,请参考以下文章

SQL 视图中的 DML 语句

如何使用 SQL 中的 Case 语句将数据插入临时表

mysql中sql语句查询的同时根据条件将数据插入到另一个表的做法?

如何在 Laravel 中的 SELECT 语句后插入记录时应用“ON CONFLICT”条件?

条件 SQL 语句 - 在插入/更新查询之间切换 [重复]

SQL语句中怎样循环插入规律数据啊??