- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
pl-sql基础简介pl-ql基础简介pl-sql基础简介pl-sql基础简介
第6章 PL/SQL编程基础
6.1 PL/SQL介绍
在SQL*Plus环境下进行程序设计的语言称为PL/SQL(PL是Procedural Language的缩写),是Oracle的一种开发工具,是对SQL语言的一种扩充。在在PL/SQL中可以使用查询语句和数据操纵语句,也可以编写过程、函数、包及数据库触发器。
一个PL/SQL程序由一个或多个块组成。
块结构:
DELCARE
BEGIN
EXCEPTION
END;
写块时,每条语句以;结束
输出函数:
DBMS_OUTPUT是Oracle提供的包,该包中有一个函数用于输出一行字符串信息,DBMS_OUTPUT.PUT_LINE(字符串表达式);
DBMS_OUTPUT.PUT(字符串表达式); 表示输出字符串,但不换行
要使用上面两个函数输出数据,必须用下面命令设置环境变量
SET SERVEROUTPUT ON
表示打开DBMS_OUTPUT.PUT_LINE函数的屏幕输出功能,系统默认状态是OFF
例:简单输出一行
set serveroutput on;
begin
DBMS_OUTPUT.PUT_LINE(成都航空职业技术学院) ; --输出一行
end;
在PL/SQL程序中,最常见的是使用SELECT语句来从数据库中获取信息,同直接执行SELECT语句不同,在程序中的SELECT语句总是和INTO相配合,来获取查询结果,INTO后跟用于接收查询结果的变量,形式如下:
SELECT 列名1,列名2… INTO 变量1,变量2… FROM 表名 WHERE 条件;
注意:接收查询结果的变量类型、顺序和个数同SELECT语句的字段的类型、顺序和个数应该完全一致。并且SELECT语句返回的数据必须是一行,否则引发系统错误。如果查询结果是多行,则必须使用游标。
例:简单的PL/SQL程序:查询雇员编号为7788的姓名和工资。
SET SERVEROUTPUT ON
DECLARE
v_name VARCHAR2(10);
v_sal NUMBER(5);
BEGIN
SELECT ename,sal
INTO v_name,v_sal
FROM emp
WHERE empno=7788;
DBMS_OUTPUT.PUT_LINE(v_name||工资为:||to_char(v_sal));
END;
注意:如果在PL/SQL程序中使用不带into的select,将无法执行。
练习:写程序,查询雇员SMITH的工作和所在部门名称。
变量定义和赋值
普通变量
DECLARE
v_job VARCHAR2(9);
v_date date;
v_sal NUMBER(9,2) := 0;
BEGIN
v_job:=MANAGER;
v_date:=sysdate+7;
DBMS_OUTPUT.PUT_LINE(v_job);
DBMS_OUTPUT.PUT_LINE(v_date);
DBMS_OUTPUT.PUT_LINE(v_sal);
END;
字段类型变量
根据表的字段定义变量
SET SERVEROUTPUT ON
DECLARE
v_ename emp.ename%TYPE;
BEGIN
SELECT ename
INTO v_ename
FROM emp
WHERE empno = 7788;
DBMS_OUTPUT.PUT_LINE(v_ename);
END;
练习:根据表dept的dname字段定义一个字段变量,然后查询部门10的部门名称赋值给变量。
(3)记录变量
可以根据表或视图的一个记录定义变量。定义方法是在表名后跟%ROWTYPE。
记录变量定义方法是:
记录变量名 表名%ROWTYPE;
获得记录变量的字段的方法是:
记录变量名.字段名
【】SET SERVEROUTPUT ON
DECLARE
emp_record emp%ROWTYPE; --定义记录变量
BEGIN
SELECT * INTO emp_record
FROM emp
WHERE empno = 7788;
DBMS_OUTPUT.PUT_LINE(emp_record.ename);--输出记录变量的某个字段
DBMS_OUTPUT.PUT_LINE(emp_record.sal);
END;
练习:定义表dept
您可能关注的文档
- orico w150迷你无路由器使用说明书orico w150迷你无线路由器使用说明书orico w150迷你无线路由器使用说明书orico w150迷你无线路由器使用说明书.ppt
- p2p贷款企业宜信估值或超5亿美元p2p贷款企业宜信估值或超过5亿美元p2p贷款企业宜信估值或超过5亿美元p2p贷款企业宜信估值或超过5亿美元.doc
- p3u3教学课件p3u3教课件学课件.ppt
- page page ran算法page page rank算法page page rank算法page page rank算法.doc
- p&g促销策划.ppt
- paper writingaper writingpaper writingpaper writing.doc
- paragraph devlomentparagraph develomentparagraph develomentparagraph develoment.ppt
- pascal简单语句pasal简单语句pascal简单语句pascal简单语句.ppt
- paas sandbox 现原理分析paas sandbox 实现原理分析paas sandbox 实现原理分析paas sandbox 实现原理分析.ppt
- pascal中的if语句pscal中的if语句pascal中的if语句pascal中的if语句.ppt
- 《金融科技与银行网点智能化转型:基于人工智能的个性化服务研究》教学研究课题报告.docx
- 《酒店收益管理策略在个性化服务中的应用研究》教学研究课题报告.docx
- 基于人工智能的初中地理教学情境创设与评价研究教学研究课题报告.docx
- 8 《城市轨道交通网络化运营中的运营服务质量提升与协调优化研究》教学研究课题报告.docx
- 基于大数据分析的人工智能教育资源在初中英语教学中的应用研究教学研究课题报告.docx
- 高中信息技术课程中人工智能与物联网技术融合的教学实践教学研究课题报告.docx
- 《快递末端共同配送模式在快递企业成本控制中的应用研究》教学研究课题报告.docx
- 信息技术行业绿色供应链管理实践与绩效评估研究教学研究课题报告.docx
- 《工业园区大气污染源排放清单编制与排放总量控制效果评估》教学研究课题报告.docx
- 《施工进度管理在建筑工程中的应用与实践研究》教学研究课题报告.docx
最近下载
- 2024年高级卫生专业技术资格考试(正高级)试卷及解答参考.docx VIP
- 留学生汉语口语自我效能感的研究.pdf VIP
- 高级卫生专业技术资格考试(正高级)试卷及解答参考.docx VIP
- 高级卫生专业技术资格考试(正高级)试卷及解答参考.docx VIP
- 高级卫生专业技术资格考试(正高级)试卷及解答参考.docx VIP
- 掼蛋比赛活动策划方案.pptx
- 年处理10万吨苯-氯苯筛板精馏塔设计说明书2024.12.17.docx VIP
- 《中国近代史纲要选择题集锦(全)》.doc VIP
- HG-T 2517-2009 工业磷酸三钠.pdf VIP
- 《中国近现代史纲要(2023版)》课后习题答案汇编.doc VIP
文档评论(0)