版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章PL/SQL与Oracle服务器之间的交互2023/9/291————真理就在面前、真理就在手下————2023/9/29————真理就在面前、真理就在手下————2目标在PL/SQL中包含SELECT语句
在PL/SQL中包含DML语句
在PL/SQL中控制事物(transactions)确定SQL数据维护语言(DML)语句的输出2023/9/29————真理就在面前、真理就在手下————3PL/SQL中的SQL语句通过使用SELECT
命令从数据库中提取数据行通过使用DML命令对数据库中的数据行进行修改利用COMMIT、ROLLBACK、或SAVEPOINT命令来控制事物(交易)2023/9/29————真理就在面前、真理就在手下————4PL/SQL中的SELECT语句通过使用SELECT
语句从数据库中提取数据语法:SELECTselect_listINTO {variable_name[,variable_name]... |record_name}
FROM table[WHERE condition];2023/9/29————真理就在面前、真理就在手下————5PL/SQL中的SELECT语句需要使用
INTO
子句查询必须返回而且只能返回一行例:DECLAREv_deptno NUMBER(8);v_loc NUMBER(8);BEGINSELECT deptno,locINTO v_deptno,v_locFROM dept_plWHERE dname=‘保卫部';
...END;/2023/9/29————真理就在面前、真理就在手下————6从数据库中提取数据提取特定雇员的雇佣日期和工资例:DECLAREv_hire_dateemp_pl.hiredate%TYPE;v_salemp_pl.sal%TYPE;BEGINSELECThiredate,salINTOv_hire_date,v_salFROMemp_plWHEREempno=7788;...END;/2023/9/29————真理就在面前、真理就在手下————7从数据库中提取数据返回特定部门中所有员工的工资总合。例:SETserveroutputONSETverifyOFFDECLAREv_sum_salemp.sal%TYPE;v_deptno NUMBERNOTNULL:=&p_department_id;BEGINSELECT SUM(sal)--groupfunctionINTO v_sum_salFROM empWHERE deptno=v_deptno;DBMS_OUTPUT.PUT_LINE(v_deptno||'号部门的工资总和为:'||v_sum_sal);END;2023/9/29————真理就在面前、真理就在手下————8命名惯例DECLAREenameemp.ename%TYPE;hiredateemp.hiredate%TYPE;salemp.sal%TYPE;v_empnoemp.empno%TYPE:=7788;BEGINSELECT ename,hiredate,salINTO ename,hiredate,salFROM empWHERE empno=v_empno;END;/2023/9/29————真理就在面前、真理就在手下————9INSERTUPDATEDELETE使用PL/SQL来维护数据通过使用DML命令对数据库的表进行修改:INSERTUPDATEDELETEMERGEMERGE2023/9/29————真理就在面前、真理就在手下————10插入数据向部门(dept)表中添加一新的部门信息例:BEGININSERTINTOdept(deptno,dname,loc)VALUES(deptid_sequence.NEXTVAL,'公关部', '公主坟区');END;/2023/9/29————真理就在面前、真理就在手下————11修改数据增加所有文员员工(CLERK)的工资例:SETverifyOFFDECLARE v_sal_increaseemp.sal%TYPE:=&p_salary_increase;BEGINUPDATE empSET sal=sal+v_sal_increaseWHERE job='CLERK';END;/2023/9/29————真理就在面前、真理就在手下————12删除数据从EMP_PL
表中删除特定职务并且工资高于某一标准的全部员工的数据例:SETverifyOFFDECLAREv_jobemp_pl.job%TYPE:='&p_job';v_salemp_pl.sal%TYPE:=&p_salary;BEGIN DELETEFROMemp_plWHEREjob=v_jobAND sal>v_sal;END;/2023/9/29————真理就在面前、真理就在手下————13合并行根据匹配条件利用EMP表向COPY_EMP表中插入数据行或修改COPY_EMP表中的数据行BEGINMERGEINTOcopy_empcUSINGempeON(c.empno=e.empno)WHENMATCHEDTHENUPDATESETc.empno=e.empno,c.ename=e.ename,c.job=e.job,c.mgr=e.mgr,c.hiredate=e.hiredate,……WHENNOTMATCHEDTHENINSERTVALUES(e.empno,e.ename,e.job,e.mgr,e.hiredate,e.sal,m,e.deptno);END;2023/9/29————真理就在面前、真理就在手下————14命名惯例使用命名惯例来避免在WHERE子句中的二义性数据库的列和标识符应该使用不同的名因为PL/SQL首先检查数据库的表中的列,所以可能产生语法错误本地变量和形式参数名优先于数据库的表名列名优先于本地变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血钙健康宣教
- 纹身师职业前景展望
- 消防安全性评价清单
- TCNAS56-2026《成人ICU有创机械通气患者早期活动评估和护理》解读
- 九年级物理“能量的转化与守恒定律”跨学科深度探究教学设计
- 师生两点一线协议书
- 初中三年级英语分层进阶教学设计:Unit 8 规则探讨与情态动词深度应用工作坊
- 人教版初中九年级英语上册Unit3 Could you please tell me where the restrooms are 第三课时听说整合教案
- 2026浙江杭州地铁科技有限公司社会招聘29人笔试历年参考题库附带答案
- 铝-空气电池电解液循环泵气蚀安全性评估报告
- 气瓶安全操作培训记录课件
- 环保安全知识培训内容
- DBJT15-245-2022 广东省城市轨道交通工程设计规范
- 学生干部留任汇报
- DB21-T 3709-2023 12345政务服务便民热线管理与服务规范
- 《HJ 212-2025 污染物自动监测监控系统数据传输技术要求》
- 民航旅客投诉培训课件
- 高二升高三数学高二数学暑期综合测评卷(19题新高考新结构)(原卷版)
- 初中数学跨学科融合教学案例
- 高中历史(统编版)知识提纲(选必修全册详细版)
- 鹏芯微面试题及答案
评论
0/150
提交评论