sqlに文insertを挿入した後のvaluesキーワードは省略できます

4077 ワード

テーブル名(カラム値)に挿入した後にクエリ文が続くと値を表し、簡単に言えば後のselect selectから出た値が挿入する値、すなわちinsert into tb(フィールド名1、フィールド名2)selectフィールド名1である.フィールド名2 from tbはinsert into tb(フィールド名1、フィールド名2)values(検出されたフィールド値1、検出されたフィールド値1)に等しい.
     (  )              ,        select select           ,   
insert into tb(    ,    )select     ,     from tb 

  
insert into tb(    ,    )values(       ,        );

または
     (  )              ,        select select           ,   
insert into tb(    ,    )select     ,     from tb 

  
insert into tb(    ,    )values(       ,        );
    SQL   :       :
 teacher     id=3     ,               ;
 teacher    id=3     ,            。
         :
① select * from teacher where id=3      ,    ,   id=3    ,          ,    id=3    ,
②     id=3    ,      not exists      ,       ;    ,              
select 3,'   ',5000 from teacher where not exists (false) limit 1;
   
select 3,'   ',5000 from teacher where true limit 1;
③            3,'   ',5000   
④             
CREATE TABLE tb ( a int,  b  int );
 
--            :       VALUES
INSERT INTO tb VALUES(1,  2);
INSERT INTO tb VALUES(1,  3);
GO
 
 
--                :       SELECT
INSERT INTO tb SELECT  2, 1;
 
INSERT INTO tb 
SELECT  3, 1  UNION ALL
SELECT  3, 2  UNION ALL
SELECT  3, 3;
GO
 
 
--     
SELECT * FROM tb
GO
 
a           b
----------- -----------
          1           2
          1           3
          2           1
          3           1
          3           2
          3           3
 
(6     )

ロット判定挿入

uuid, systemName, enviromentType, jobOrderNum, jobName, executeTime, jobLogAddress, status


insert into data_collection_job_info





select

#{item.uuid,jdbcType=VARCHAR},
#{item.systemName,jdbcType=VARCHAR},
#{item.enviromentType,jdbcType=VARCHAR},
#{item.jobOrderNum,jdbcType=INTEGER},
#{item.jobName,jdbcType=VARCHAR},
#{item.executeTime,jdbcType=VARCHAR},
#{item.jobLogAddress,jdbcType=VARCHAR},
#{item.status,jdbcType=INTEGER}

from data_collection_job_info
where not exists(select * from data_collection_job_info where uuid=#{item.uuid, jdbcType=VARCHAR}) limit 1



 
転載先:https://www.cnblogs.com/h-c-g/p/10672845.html