网站大量收购闲置独家精品文档,联系QQ:2885784924

plsql经典教学.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
plsql经典教学,plsql教学视频,plsql教学,plsql,plsqldeveloper64位,plsqldeveloper,plsql注册码10e0,plsql配置数据库连接,plsql连接oracle,plsql连接远程oracle

调用过程: begin delete_rows(JOBS,MIN_SALARY=5000); dbms_output.put_line(to_char(sql%rowcount)); end; 例3:建立用户 declare n number(1); sn varchar2(8); sn1 char(3); begin for n in 111..222 loop sn1:=ltrim(to_char(n,999)); sn:=rtrim(swj||sn1); execute immediate create user ||sn|| identified by swj default tablespace swj quota unlimited on swj; execute immediate grant swjrole to ||sn; end loop; end; 上机内容: 编写判定一个四位数是否为回文数的函数,并统计出所有四位数中的回文数。(正读=反读) 编写从表JOBS删除第N条记录的过程。 编写过程:当给定的JOB_ID存在时,显示该记录的内容,如果不存在则将该JOB_ID以记录(JOB_ID,’NET JOB’,1000,10000)插入JOBS。 编写函数:对EMPLOYEES按工资从小到大排序后的第M条到第N条记录的工资总和。 编写函数:给定员工编号,返回该员工所在部门的名称。如果没有找到,返回NULL。 编写过程:对给定工作编号,如果找到返回它的最小和最大工资;如果没有找到将该编号插入,工作名称为OFFICER,最小工资为JOBS 中所有记录最小工资的平均值,最大值为原最大 值的平均值。 7. 编写过程:从表JOBS中删除按工作编号从小到大排序后第N条记录。 8. 编写过程:输入一个字符串,判定否是可以作为用户名,显示异常。如果可以建立该用户,并为其授予create session,create table,select any table 权限。 9. 建立一个包:定义求N!的函数和显示表JOBS记录个数的过程。 10. 定义触发器:对表EMPLOYESS建立插入、删除、修改之前分别显示:开始插入、开始删除、开始修改。 注意: 过程调用参数类型与个数必须完全一致; OUT或IN OUT参数在调用时不能对应表达式;例:JC(K+1,K);--正确 但JC(K+1,K*2);非法 参数表示对应表列时,最好%TYPE类型 过程调用只能出现在块中,不能与表达式计算 可以多个OUT参数来返回多个值。 IN参数在过程中不能赋值 如果要给参数赋值,必须指定为OUT或IN OUT 不指明IN、OUT或IN OUT时,缺省为IN 出错信息表USER_ERRORS(列:LINE,TEXT,..) 例7:在过程中用游标(返回第N个不等于的记录) create or replace procedure jobk( j in jobs.job_id%type, jk out jobs%rowtype, n in int) as cursor j_c is select * from jobs where job_idj; k int; begin k:=1; if not j_c%isopen then open j_c; end if; loop fetch j_c into jk; exit when n=k; k:=k+1; end loop; close j_c; end; 调用: declare jj jobs%rowtype; begin jobk(ST_MAN,jj,3); dbms_output.put_line(jj.job_id|| ||jj.job_title); jobk(FI_MGR,jj,5); dbms_output.put_line(jj.job_id|| ||jj.job_title); end; 例8: 显示表EMPLOYEES的第N条记录的内容 create or replace procedure n_record(n int, emp out employees%rowtype) as k int; cursor e_c is select * from employees; begin k:=1; if not e_c %isopen then open e_

文档评论(0)

ajgoaw + 关注
内容提供者

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

1亿VIP精品文档

相关文档