关于UPDATE操作
来源:互联网 发布:上海期货交易所数据 编辑:程序博客网 时间:2024/05/18 02:15
/*用COURSE表为模板,创建一张新表COURSE_NEW,并且包括COURSE表的所有记录 */
CREATE TABLE COURSE_NEW AS SELECT * FROM COURSE;
/*清空COURSE_NEW表中的所有记录*/
TRUNCATE TABLE COURSE_NEW;
/*往COURSE_NEW表中增加以下记录:
NO COURSE_NAME
A001 ORACLE数据库管理
A002 SQLSERVER安全指南
A003 Hibernate全攻略
A004 .NET
*/
INSERT INTO COURSE_NEW(NO,COURSE_NAME)
SELECT 'A001','ORACLE数据库管理' FROM DUAL
UNION
SELECT 'A002','SQLSERVER安全指南' FROM DUAL
UNION
SELECT 'A003','Hibernate全攻略' FROM DUAL
UNION
SELECT 'A004','.NET' FROM DUAL;
COMMIT;
/*根据COURSE表中的NO字段,用COURSE_NEW更新COURSE表*/
UPDATE (SELECT /*+ BYPASS_UJVC */ A.NO,A.COURSE_NAME,B.NO AS BNO,B.COURSE_NAME AS BNAME
FROM COURSE A,COURSE_NEW B
WHERE A.NO=B.NO)
SET NO=BNO,COURSE_NAME=BNAME
COMMIT;
/*分别使用INSERT/UPDATE和MERGE命令实现,用COURSE_NEW更新COURSE表中的记录,如果存在,则更新,不存在则INSERT*/
--用MERGE实现如下:
INSERT INTO COURSE_NEW(NO,COURSE_NAME) --为了便于操作,先在COURSE_NEW中插入一条记录
SELECT 'A005','HCNE网络工程师' FROM DUAL;
COMMIT;
MERGE INTO COURSE A
USING COURSE_NEW B ON(A.NO=B.NO)
WHEN MATCHED THEN
UPDATE SET A.COURSE_NAME=B.COURSE_NAME
WHEN NOT MATCHED THEN
INSERT(A.NO,A.COURSE_NAME)
VALUES(B.NO,B.COURSE_NAME);
COMMIT;
--用INSERT/UPDATE实现如下
INSERT INTO COURSE_NEW(NO,COURSE_NAME)--为了便于操作,再在COURSE_NEW中插入一条记录
SELECT 'A006','CCNA网络工程师' FROM DUAL;
COMMIT;
--利用UPDATE对于编号相同的字段进行更新
UPDATE COURSE A SET(NO,COURSE_NAME)=
(SELECT B.NO,B.COURSE_NAME
FROM COURSE_NEW B
WHERE A.NO=B.NO )
WHERE EXISTS
(SELECT 1 FROM COURSE_NEW B
WHERE A.NO=B.NO);
COMMIT;
--利用INSERT对于原表中没有的进行添加
INSERT INTO COURSE
SELECT * FROM COURSE_NEW A
WHERE NOT EXISTS(SELECT 1 FROM COURSE B WHERE A.NO=B.NO);
COMMIT;
/*用一组语句代替对实现对全表的更新操作*/
--先用COURSE_TEST记录COURSE表的状态,以便在删除COURSE之后记录相关字段
CREATE TABLE COURSE_TEST AS SELECT * FROM COURSE WHERE ROWNUM<1;
INSERT /*+ APPEND */ INTO COURSE_TEST
SELECT * FROM COURSE WHERE ROWNUM<5;
COMMIT;
--删除COURSE表
TRUNCATE TABLE COURSE;
--更新COURSE表
INSERT /*+APPEND*/ INTO COURSE
SELECT A.NO,A.COURSE_NAME FROM COURSE_NEW A,COURSE_TEST B WHERE A.NO=B.NO;
COMMIT;
- 关于UPDATE操作
- Update 操作
- update操作中关于,传值的想法
- 关于SVN 操作 提示文件已过时,请先update
- 无update操作却执行update操作
- mysql 操作总结--UPDATE
- proc的update操作
- jdbc操作--Update
- Mongodb的update操作
- mongodb 数据库update 操作
- Mongodb的update操作
- Mongodb的update操作
- Oracle命令--update操作
- Insert,Update,Delete操作
- 批量UPDATE的操作
- mongoDB update操作
- Mongodb的update操作
- mongodb update操作
- 虚拟主机使用记录(03)
- Java中把String变量里的数值型字符串转换成数值型的方法
- C# .net中 COOKIE 的操作
- 2007.04.29 写稿,国庆就在眼前
- 为IE for Pocket PC设计网站要注意的事项
- 关于UPDATE操作
- 学习有感ooo
- 实现个人突破发展的四项职业情商修炼!
- XSLT
- MD5算法的T-SQL实现(FOR SQL2000)
- 通向天才之路:翻译《带偏移限制的视差贴图:一种粗糙表面的逐像素近似法》
- 字符串排序输出函数
- 常用正则表达式收集!
- 转换为十六进制函数