版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乘用车销售服务合同
- 玩具制作工岗前岗位环保责任制考核试卷含答案
- 业主-客户信息档案表
- 贝类养殖工保密水平考核试卷含答案
- 印制电路镀覆工岗前技术评优考核试卷含答案
- 潜水指导员安全宣传测试考核试卷含答案
- 蜡油渣油加氢装置操作工岗位晋升竞赛考核试卷含答案
- 货运检查员安全生产意识强化考核试卷含答案
- 罐头杀菌工安全知识宣贯水平考核试卷含答案
- 炼厂气加工工岗中知识更新考核试卷含答案
- 小学数学四年级《一亿有多大:从量感到数感》跨学科主题教学设计
- 中小企业管理技能与实务(第三版)全套课件 第1-9章 中小企业的创立-中小企业财务管理
- 《婴幼儿生理基础》全套教学课件
- 2026中国智能电网分布式能源消纳技术路线与经济性比较
- 急诊分级诊疗指南(2025年版)
- 山东省2026年普通高校招生(春季)统一考试数学试题答案
- 中国水利水电第九工程局有限公司2026届秋季招聘148人笔试历年难易错考点试卷带答案解析
- 2026年建筑行业安全事故案例反思与警示
- 2026年二建《水利水电工程实务》真题卷(附答案解析)
- 化工企业重大隐患自查表 AQ3067
- AutoCAD 2016机械制图案例教程
评论
0/150
提交评论