




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何健全办学管理办法
- 员额退出机制管理办法
- 药品责任追究管理办法
- 拉萨补贴资金管理办法
- 肯德基安全培训课件
- 倒闸操作培训课件
- 肝脓肿病人护理课件
- 众安实业培训课件
- 二附中期末数学试卷
- kbz馈电开关培训课件
- 声发射技术裂纹监测
- 社会责任工作管理制度
- 机械CAD-CAM技术课件
- 2024-2025学年广东省新部编版七年级历史第二学期期末模拟卷(含答案)
- 2025-2030年环氧丙烷产业市场深度调研及发展趋势与投资战略研究报告
- 2024年河南省渑池县卫生局公开招聘试题带答案
- 2025年新疆维吾尔自治区公务员录用考试面试真题试卷:无领导小组讨论边疆稳定与发展试题
- 预防新生儿呛奶指南
- 2025年高考湖南卷物理真题(解析版)
- 消防课幼儿园课件
- 2025至2030中国汽车物流行业深度发展研究与企业投资战略规划报告
评论
0/150
提交评论