PLSQL练习题一.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PLSQL练习题一

PL/SQL练习题 Oracle中所有的过程都是以PL/SQL块开始的,掌握PL/SQL对于过程的开发是非常用用处的。 PL/SQL块的定义格式: DECLARE 声明一些变量 BEGIN 程序的开发 EXCEPTION 程序中有可能出现异常 END ; / 范例:使用以上的语句,创建一个简单的程序块 DECLARE i NUMBER ; BEGIN i:=30 ; -- 将变量i的内容设置成30 DBMS_OUTPUT.PUT_LINE(i的内容是: || i) ; END ; / 以上一个基本的语句块已经写完了,但是里面并没有任何的输出,之所以这样,主要原因在于SQLPLUSW中的系统输出没有打开,需要通过以下的命令完成: SET SERVEROUTPUT ON ; 以上是一个简单的语句块,但是在PLSQL块中也可以直接进行数据库的查询操作。 范例:要求输入一个雇员的编号,之后显示出此编号雇员的姓名 · 如果要想输入雇员编号的话,第八章存在一个替代变量“” DECLARE eno NUMBER ; -- 接收传入的编号 name VARCHAR2(8) ; -- 保存查询出来的雇员姓名 BEGIN DBMS_OUTPUT.PUT_LINE(请输入雇员编号:) ; eno:=empnonumber ; SELECT ename INTO name FROM emp WHERE empno=eno ; DBMS_OUTPUT.PUT_LINE(编号为 || eno ||的雇员姓名是: || name) ; END ; / 此时已经可以查询出来了,但是以上的代码是否会存在其他问题呢?如果现在输入的编号不存在则有可能返回错误信息,那么为了让代码在出现错误之后依然可以正确的使用,则可以加入异常处理的操作机制。 DECLARE eno NUMBER ; -- 接收传入的编号 name VARCHAR2(8) ; -- 保存查询出来的雇员姓名 BEGIN DBMS_OUTPUT.PUT_LINE(请输入雇员编号:) ; eno:=empnonumber ; SELECT ename INTO name FROM emp WHERE empno=eno ; DBMS_OUTPUT.PUT_LINE(编号为 || eno ||的雇员姓名是: || name) ; EXCEPTION -- 当程序出现错误的时候执行此语句语句 WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE(没有这个员工!!!) ; END ; / 但是,从以上的程序中可以发现,在SQLPLUSW中输出实际上并没有真正的意义,所以显示的格式也就没有必要做任何的调整。 在PL/SQL块中也可以编写循环、判断等语句。 可以使用循环操作:LOOP,循环 DECLARE i NUMBER ; BEGIN i := 1 ; -- 给变量i一个初始值 LOOP DBMS_OUTPUT.PUT_LINE(i = || i) ; EXIT WHEN i=10 ; i := i + 1 ; END LOOP ; END ; / 这个时候一个循环语句就已经编写完成了。此循环属于先执行后判断,所以可以使用另外一种循环语句:WHILE…LOOP。 DECLARE i NUMBER ; BEGIN i := 1 ; -- 给变量i一个初始值 WHILE(i=10) LOOP DBMS_OUTPUT.PUT_LINE(i = || i) ; i := i + 1 ; END LOOP ; END ; / 那么,此种循环操作属于先判断后执行。 在PL/SQL中也可以使用FOR循环方式 DECLARE i NUMBER ; BEGIN FOR i IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE(i = || i) ; END LOOP ; END ; / PLSQL中同样存在IF语句,执行条件的分支操作。 范例:给定一个值,要求判断其是否大于10,如果大于,则显示记录大于10条 DECLARE coun NUMBER ; BEGIN coun := 11 ; IF coun10 THEN DBMS_OUTPUT.PUT_LINE(记录大于10条) ; END IF ; END ; / 但是,以上的内容都属于固定好的结果,现在要求可以将emp表中的记录数进行验证。 DECLARE coun NUMBER ; BEGIN SELECT COUNT(empno) INTO coun FROM emp ; IF coun10 THEN DBMS_OUTPUT.PUT_LINE(记录大于10条) ; END IF ; EN

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档