第一种,直接用values 插入

---日期需要用TO_DATE操作
INSERT INTO EMP (EMPNO,ENAME ,JOB,MGR, HIREDATE , SAL ,COMM, DEPTNO) VALUES
(1122,'STEVE','工人',2233,TO_DATE('2017-01-03','YYYY-MM-DD'),3000,500,20);

第二种,用select 的方式插入

INSERT INTO EMP (EMPNO,ENAME ,JOB,MGR, HIREDATE )
SELECT EMPNO,ENAME ,JOB,MGR, HIREDATE FROM EMP WHERE DEPTNO = 20 ;

第三种,select () into () 方式插入,这种是游标中使用,存在于过程中,给游标赋值

SELECT EMPNO,ENAME ,JOB,MGR, HIREDATE  FROM EMP WHERE DEPTNO = 20 
 INTO EMP (EMPNO,ENAME ,JOB,MGR, HIREDATE );

第四种,用merge into 更新数据(比较复杂,但很好用),这个方法不需要先 DELETE 再 进行 insert ,只对需要核对的数据进行一次操作,比先DELETE 再INSERT效率要高。

MERGE INTO ANN_FIN_PROFITDISTRIBUTE_total A  --要更新数据的表
USING (SELECT B.VC_REPORT_ID VC_REPORT_ID, ---using可以理解为,用这些查出来的数据去匹配更新
SUM(B.F_PER10_DIVIDEND) F_PER10_DIVIDEND_TOTAL,
SUM(B.F_DIVIDEND_CASH) F_DIVIDEND_CASH_TOTAL,
SUM(B.F_DIVIDEND_INVEST) F_DIVIDEND_INVEST_TOTAL,
SUM(B.F_DIVIDEND_TOTAL) F_DIVIDEND_TOTAL
FROM ANN_FIN_PROFITDISTRIBUTE B
WHERE B.VC_REPORT_ID = V_REPORT_ID
GROUP BY B.VC_REPORT_ID) C
ON (A.VC_REPORT_ID = C.VC_REPORT_ID) --- ON 是非常关键的,决定着这些数据是否被更新
WHEN MATCHED THEN  --如果 ON的条件满足,那么就更新数据,做如下的 update 处理
UPDATE
SET A.F_PER10_DIVIDEND_TOTAL = C.F_PER10_DIVIDEND_TOTAL,
A.F_DIVIDEND_CASH_TOTAL = C.F_DIVIDEND_CASH_TOTAL,
A.F_DIVIDEND_INVEST_TOTAL = C.F_DIVIDEND_INVEST_TOTAL,
A.F_DIVIDEND_TOTAL = C.F_DIVIDEND_TOTAL
WHEN NOT MATCHED THEN ---如果 ON 的条件不满足,则插入这些数据
INSERT
(A.VC_REPORT_ID,
A.F_PER10_DIVIDEND_TOTAL,
A.F_DIVIDEND_CASH_TOTAL,
A.F_DIVIDEND_INVEST_TOTAL,
A.F_DIVIDEND_TOTAL)
VALUES
(C.VC_REPORT_ID,
C.F_PER10_DIVIDEND_TOTAL,
C.F_DIVIDEND_CASH_TOTAL,
C.F_DIVIDEND_INVEST_TOTAL,
C.F_DIVIDEND_TOTAL);

第五种,用update更新,这里就不用emp表了,懒得码字

UPDATE ANN_HLD_OTHER_ACCEST   --表名
SET (VC_REPORT_ID, --报表唯一标示
F_DEPOSIT_GUARAN, --存出保证金
F_SQUARE_MONEY, --应收证券清算款
F_VIVIDEND, --应收股利
F_INTEREST, --应收利息
F_SUBSCRIBE, --应收申购款
F_OTHER_ITEM --其他应收款
) =
(SELECT V_REPORT_ID, --变量
C.F_A1031, --存出保证金
C.F_B3003, --应收证券清算款
C.F_A1203, -- 应收股利
C.F_A1204, --应收利息
C.F_A1207, --应收申购款
C.F_A1221 --其他应收款
FROM fact_HLD_hlddetail_PRICE C
WHERE C.VC_FUNDCODE = I_FCODE --约束条件

最新文章

  1. Node.js之路【第三篇】NodeJS异步实现
  2. Ext.Net 学习随笔 003 超链接按钮
  3. STL标准库面试常考知识点
  4. java多线程系类:基础篇:04synchronized关键字
  5. cordova plugin数据传递概要
  6. 【AngularJS学习笔记】02 小杂烩及学习总结
  7. Android项目实战(九):CustomShapeImageView 自定义形状的ImageView
  8. UISegmentedControl的使用
  9. contentProvider-联系人的CURD
  10. Java笔记(二十五)……其他常用API
  11. [Angular 2] Template property syntax
  12. 第一种:NStread
  13. 腾讯云上Selenium用法示例
  14. The Xamarin Live Player Unpacked
  15. django 分页出现 UnorderedObjectListWarning 错误
  16. Fetch的使用及兼容ie的处理
  17. Network POJ - 3694 (连通图标求桥)
  18. 【CF573D】Bear and Cavalry 线段树
  19. 自己实现strtok函数
  20. (考研)java网络编程

热门文章

  1. HTML 标签的 enctype 属性
  2. 机器学习-Confusion Matrix混淆矩阵、ROC、AUC
  3. jquery获取li里面的第一个a标签
  4. maven工程小红叉处理方法
  5. poj 1284 Primitive Roots(原根+欧拉函数)
  6. sublime text 2中“ctrl + `”快捷键无效
  7. 1年内4次架构调整,谈Nice的服务端架构变迁之路
  8. Kubernetes1.6新特性:全面支持多颗GPU
  9. 微信小程序小红点未读消息如何实现?
  10. es6常用数组操作及技巧汇总