- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07_PLSQL编程
PL / SQL编程
Oracle中的高级编程 —— PL/SQL
SQL语句上的一个分支,但是PL/SQL只适合于oracle
SQL语句没什么区别:
按固定格式编写即可:
declare
变量
begin
执行SQL语句,也可以执行任何的输出代码
end;
/
默认情况下,Oracle中的系统输出是关闭的,即,没有任何内容显示在屏幕上
declare
i number ;
begin
-- 输出i
i := 10 ;
dbms_output.put_line(i = ||i) ;
end ;
/
set serveroutput on ( 打开系统输出
完成以下功能:
要求用户可以自己输入雇员ID,同时打印出个人全部信息
在Oracle中使用可以完成信息的输入
select * from emp where empno=empno ;
希望编写一个PL/SQL块,PLSQL块之中编写用户输入信息的提示,同时,查找数据,要求输入一个雇员编号,将雇员的名字打印出来。
declare
eno number ;
name varchar(20) ;
begin
dbms_output.put_line(请输入雇员编号:) ;
-- 输出i
eno := empno ;
-- 最终结果要的是将名字取出,同时打印
SELECT ename INTO name FROM emp WHERE empno=eno ;
dbms_output.put_line(姓名是 = ||name) ;
end ;
/
在PLSQL之中如果没有合适的数据,则默认情况下会产生错误,与java没加try块一样
declare
Begin
exception
End;
/
declare
eno number ;
name varchar(20) ;
begin
dbms_output.put_line(请输入雇员编号:) ;
-- 输出i
eno := empno ;
-- 最终结果要的是将名字取出,同时打印
SELECT ename INTO name FROM emp WHERE empno=eno ;
dbms_output.put_line(姓名是 = ||name) ;
exception
-- 匹配错误
WHEN no_data_found THEN
dbms_output.put_line(没有这个员工) ;
end ;
/
在PL/SQL之中同样包含了程序的控制语言:循环、条件判断
循环
· 循环的初始条件
· 循环的结束条件
· 循环条件的变更
LOOP
循环的主体 (语句)
Exit WHEN 条件 ;
修改条件
END LOOP ;
现在打印1~10
declare
i number ;
begin
i := 1 ;
loop
dbms_output.put_line(i = ||i) ;
exit when i=10 ;
i := i + 1 ;
end loop ;
end ;
/
问题?
给所有的员工工资增加10%。 ( 游标
如果只用循环,只能确定循环的个数 –》 count函数
LOOP .. END LOOP
循环至少执行了一次,先执行再判断
WHILE … LOOP
先判断再执行
declare
i number ;
begin
i := 1 ;
while(i=10) loop
dbms_output.put_line(i = ||i) ;
i := i + 1 ;
end loop ;
end ;
/
每次都要手工修改条件,比较麻烦,通过for循环,所以在PL/SQL之中提供了专门的for循环操作
for 变量 in 最小值..最大值 loop
end loop ;
declare
i number ;
begin
i := 1 ;
for i in 1..10 loop
dbms_output.put_line(i = ||i) ;
end loop ;
end ;
/
条件判断:
If 条件 then
语句
End if ;
求出总记录数,之后判断记录数是否大于10,如果大于10,则打印记录多余10条
declare
i number ;
begin
select count(empno) INTO i from emp ;
if i=10 then
dbms_output.put_line(记录大于10条。) ;
end if ;
end;
/
If …else .. end if
declare
i number ;
begin
select c
您可能关注的文档
- (贺阿蓉)教师应怎样带领学生解读文本.doc
- 浅谈幼儿教育与家庭教育的密切联系.docx
- 1.2《区域发展差异》2(湘教版必修3).doc
- 单元重点短语.doc
- 七年级美术-下学期《漫画》课件.ppt
- 第三章重力基本相互作用.doc
- 单元23:流程控制.ppt
- 学以致用,提高能力.docx
- 人教版小学二年级上册数学《厘米的认识》课件.ppt
- 图书馆数据库各个表.doc
- 历史的巨响 奋进的力量纪念我国第一颗原子弹爆炸成功60周年-热点速递“内容简介+素材集锦+时评+作文链接+范文”.docx
- 历史的巨响 奋进的力量:纪念我国第一颗原子弹爆炸成功60周年-热点速递“内容简介+素材集锦+时评+作文链接+范文”.docx
- 吉林省2016年中考文综试卷(解析版).doc
- 吉林省2016年中考文综试卷(解析版).doc
- 吉林省2016年度中考政 治试题(word版,含答案).doc
- 吉林省2016年中考政治试卷及答案【word版】.doc
- 2016年吉林省中考政治试题及答案解析.doc
- 吉林2016年初中毕业生学业考试.doc
- 竞聘技校数学老师演讲.docx
- 2016年吉林省中考政治试题解析.doc
文档评论(0)