随笔 - 28  文章 - 0  评论 - 1  阅读 - 8677

多条语句插入数据库SQL

Insert 单条多条插入语句

  1. 一般Insert语句使用
  2. 多表Insert (无条件)语句使用
  3. 多表Insert(有条件)语句使用

一般语法使用:
insert into 【User.table】[@db_link](column1, column2, column3, ... ...)
Values(express1, express2, ... ..)

更经常用法:
无条件的Insert all 本语句指无条件插入所有数据。

-- 创建两张空表
CREATE TABLE EMP_NEWSALHISTORY AS SELECT * FROM EMP WHERE 1= 2;
CREATE TABLE EMP_NEWMGRHISTORY AS SELECT * FROM EMP WHERE 1= 2;

INSERT ALL
INTO EMP_NEWSALHISTORY(EMPNO,HIREDATE,SAL) VALUES(EMPNO,HIREDATE,SAL)  -- 插入的字段和Values的字段 最好一一对应
INTO EMP_NEWMGRHISTORY(EMPNO,HIREDATE,MGR) VALUES(EMPNO,HIREDATE,MGR)  -- 插入的字段和Values的字段 最好一一对应
SELECT * FROM EMP WHERE SAL> 1500; --在源表上可以进行条件筛选再插入数据据
COMMIT; 记得提交

SELECT * FROM EMP_NEWSALHISTORY;
SELECT * FROM EMP_NEWMGRHISTORY;有条件的Insert all 本语句指有条件插入所有数据。

在all后面添加When... Then再接上Into语句。

-- 创建两张空表
CREATE TABLE EMP_NEWSALESMAN AS SELECT * FROM EMP WHERE 1= 2;
CREATE TABLE EMP_NEWCLERK AS SELECT * FROM EMP WHERE 1= 2;


-- 有条件判断 则加上 WHEN ... THEN ...
INSERT ALL   
WHEN JOB = 'SALESMAN' THEN 
INTO EMP_NEWSALESMAN VALUES(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)  --字段可以随意写,或多或少
WHEN JOB = 'CLERK' THEN 
INTO EMP_NEWCLERK VALUES(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)  --字段可以随意写,或多或少
SELECT * FROM EMP;
Commit; 记得提交

SELECT * FROM EMP_NEWSALESMAN;
SELECT * FROM EMP_NEWCLERK;
    
个人实际操作













INSERT ALL INTO T_DIAG_ICD

  (DIAG_ID, ICD_ID, FIT_PCT, FIT_TYPE, FIT_DT)
INTO T_DIAG_ICD
    (DIAG_ID, ICD_ID, FIT_PCT, FIT_TYPE, FIT_DT)
VALUES
    (11, 467, 100, '人工审核', sysdate)
INTO T_DIAG_ICD
    (DIAG_ID, ICD_ID, FIT_PCT, FIT_TYPE, FIT_DT)
VALUES
    (11, 468, 100, '人工审核', sysdate)
INTO T_DIAG_ICD
    (DIAG_ID, ICD_ID, FIT_PCT, FIT_TYPE, FIT_DT)
VALUES
    (11, 469, 100, '人工审核', sysdate)
INTO T_DIAG_ICD
    (DIAG_ID, ICD_ID, FIT_PCT, FIT_TYPE, FIT_DT)
VALUES
    (11, 470, 100, '人工审核', sysdate)
SELECT 11, 466, 100, '人工审核', sysdate FROM DUAL

posted on   宇宇小子  阅读(268)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示