版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有色金属矿粉输送安全操作培训
- 海洋平台电力系统智能调控技术创新总结报告
- PP-R给水管安装施工方案
- 钢结构厂房工程监理规划
- 道路运输企业交通安全管理制度
- 港口项目连续梁支架现浇施工方案
- 基础加固专项施工方案
- 燃气用户端泄漏应急预案演练脚本
- 装修施工方案完整版
- 物流管理师(中级)考试试卷及答案
- 消防救援支队公开招聘工作人员笔试试题(含详细答案)
- XX区企业厂界噪声监测报告
- 2026年北京公务员(行测)考试真题及答案
- 格林巴利综合症讲课
- 2026年供应链管理三级试题及答案
- 山东潍坊市2025-2026学年高一年级上册学业质量检测生物(解析版)
- 化工企业重大隐患自查表 AQ3067
- 风暴潮灾害救援
- 2026年中远海特行测笔试题库
- 2026年上海中考试卷题目分布及答案
- 出国人员培训制度
评论
0/150
提交评论