资源描述:
《oracle数据库开发第六章-sql-操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ORACLE数据库管理员基础第六章使用SQL进行数据操作 大家都知道,关系数据库中使用最频繁的SQL语句可以是SELECT、INSERT、UPDATE 及DELETE语句了,尽管它们使用简单,但也是变化最多和最能衡量一个编程人员水平的语 句了。下面就增、删、改作简要介绍。 6.1INSERT操作 INSERT语句可以完成对表、视图及快照(snapshot)进行数据插入。插入的数据依不同 的版本而允许插入的数据类型也不同,最新版本可以在子查询中使用LOB数据类型。现在 最新的版本仍有下
2、面限制: 不能在语句中使用并行,也不允许从远程进行插入; 在子查询中不允许使用带有long类型的字段。 1.INSERT命令语法: INSERTINTO[user.]table[@db_link][(column1[,column2]...)] VALUES(express1[,express2]...
3、subquery...); 2.日期的插入 INSERTintoemp_house_fund(name,emp_acc_no,tran_date,tran_val) VALUES(
4、'赵元杰','123456',to_date('06/09/2000','dd/mm/yyyy'),99.9); 163 INSERTintoemp_house_fund(name,emp_acc_no,tran_date,tran_val) VALUES('赵元杰','123456',to_date('2000.06.09','yyyy.mm.dd'),99.9); INSERTintoemp_house_fund(name,emp_acc_no,tran_date,tran_val)
5、 VALUES('赵元杰','123456',to_date('06092000','ddmmyyyy'),99.9); 3.带select的插入 SQL>createtableemp_house_fund_sum(per_idverchar2(20),tran_valnumber(9,2)); SQL>insertintoemp_house_fund_sum selectper_id,sum(tran_val) Fromemp_house_fundgroubyper_id; SQL>
6、selecta.name,b.per_id,b.tran_val fromemp_house_funda,emp_house_fund_sumb wherea.per_id=b.per_id; 6.1.1用文字插入操作 INSERTINTOdept VALUES(50,‘PRODUCTION’,’SANFRANCISCO’); INSERTINTOemp(empno,ename,job,sal,comm,deptno) VALUES(7890,‘LINKS’,’CLERK’,1.2E
7、3,NULL,40); 下面语句完成同样的功能,只是用了子查询: INSERTINTO(SELECTempno,ename,job,sal,comm,deptnoFROMemp) VALUES(7890,‘LINKS’,’CLERK’,1.2E3,NULL,40); 6.1.2用子查询插入操作 INSERTINTObonus SELECTename,job,sal,comm FROMemp WHEREcomm>0.25*sal ORjobIN(‘PRESIDENT’,’MANAG
8、ER’); 分区的例子: 插入到SALES表的OCT98分区中: INSERTINTOsalesPARTITION(oct98) 164 SELECT*FROMlatest_data; 绑定变量的例子:下面例子将插入结果返回到变量: INSERTINTOempVALUES(empseq.nextval,‘LEWIS’‘CLARK’ 7902,SYSDATE,1200,NULL,20) RETURNINGsal*12,jobINTO:bnd1,:bnd2; 插入LOB数据类型的例
9、子: 1)插入一个带longraw的表: CREATETABLElong_tab(long_picsLONGRAW); 2)建立一个带LOB的表: CREATETABLElob_tab(lob_picsBLOB); 3)用下面预计完成将longraw插入到LOB中: INSERTINTOlob_tab(lob_pics) SELECTTO_LOB(long_pics)FROMlong_tab; 4)可以将带有longraw的列删除掉: ALTERTABLElong