PLSQL应用程序开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1OraclePL/SQLProGramming学习笔记Author:丁俊目录序言-特点介绍.................................................................................................................................2PART1用PL/SQL设计程序..........................................................................................................4第一章plsql在10g中的新特性............................................................................................4第二章建立和运行plsql程序...............................................................................................6第三章plsql语言基本原理....................................................................................................9PART2PL/SQL应用程序结构......................................................................................................12第四章条件和序列控制.......................................................................................................12第五章循环控制...................................................................................................................19第六章异常处理...................................................................................................................23PART3PL/SQL程序应用..............................................................................................................25第七章用数据来工作...........................................................................................................25第八章Strings.......................................................................................................................27第九章Numbers....................................................................................................................31第十章Records.....................................................................................................................36第十一章集合类型...............................................................................................................382序言-特点介绍1-1pl/sql可以做的工作:1.用pl/sql的存储过程和数据库触发器实现至关重要的商业规则。2.在数据库中生成和完全地管理xml文档。3.web页面与数据库的结合。4.实现自动化的数据库管理,用pl/sql建立安全级别来管理回滚段。1-2pl/sql特点:从oracle6开始,模仿Ada语言的实现,Ada语言强调数据抽象,信息隐藏,还有其他现代语言设计中的关键策略。pl/sql做为3GL语言具有面向过程语言的许多重要特性,如:1.丰富的数据类型,从number到string,从复杂的record到table,以及集合类型等。2.显示的可读性强的块状结构,可以增强我们维护plsql程序。3.条件,循环语句,包括if---else,3个loop循环(简单loop,for...loop,while...loop)。4.完整地异常处理机制。5.命名的,可重用的代码,如包,函数,过程,触发器,对象类型等。6.plsql是sql的有力补充,与sql之间的联系紧密,整合性强。7.plsql是oracle数据库产品的内置语言,不是一个孤立的语言。8.是一种高性能的语言。9.pl/sql运行过程Plsql引擎可以接受应用程序的程序,然后将sql部分和plsql部分分离出来,分别交给sql引擎和plsql引擎执行,提高执行效率。10.plsql可以每次发送成组的sql语句到服务器端执行,不像sql每次只能发送一句,减少网络负载量,提高效率,而且在oracle的相关工具中,如oracleform中,plsql也得到增强。11.总结一句话:plsql有应用程序的特性,是sql的有力补充,具有流程控制,申明和使用变量,plsql能运行在任何具有oracle的环境中。312.plsql支持dml,select语句,不直接支持ddl,用动态语句,executeimmediate,不支持权限控制如grant和revoke。4PART1用PL/SQL设计程序第一章plsql在10g中的新特性1.自动的,最佳代码编译oracle10g发布的第1版本10.1会重新组织代码从而提高效率。非sql区域的效率会提高2倍2.编译期警告3.预编译功能,指定条件编译最佳编译(optimizedcompiler)在10.1中默认为最佳编译,可以通过修改会话session来实现指定编译0无最佳编译1中等最佳编译,可以消除过剩代码和异常2默认级别,最佳编译ALTERSESSIONSETPLSQL_OPTIMIZE_LEVEL=0;也可以指定procedure的编译,先设过程级别,然后用reuseALTERPROCEDUREbigprocCOMPILEPLSQL_OPTIMIZE_LEVEL=0;然后使用ALTERPROCEDUREbigprocCOMPILEREUSESETTINGS;编译期警告ALTERSESSIONSETplsql_warnings='enable:all'条件编译用$IF指定如CREATEORREPLACEPROCEDUREcalculate_totalsISBEGIN$IF$$oe_debugAND$$oe_trace_level=5$THENDBMS_OUTPUT.PUT_LINE('Tracingatlevel5orhigher');$ENDNULL;ENDcalculate_totals;支持非连续的集合用forall,在10g之间用forall只能是连续的集合,forall与批处理bulkcollection联合用,bulkcollection可以减少plsql的引擎和sql引擎之间的相互转换的次数,所以能提高效率。10g之后可以是非连续的单元,用INDICESOF指定,如FORALLiININDICESOFinactivesDELETEFROMledgerWHEREacct_no=inactives(i);forall指定集合的值,用valuesof5FORALLiINVALUESOFinactives_listDELETEFROMledgerWHEREacct_no=inactives(i);提高数据类型的支持oracle10g的所有数字类型的全部采用机器运算,提高效率,对浮点数运算采用二进制,提高金融业计算的准确性,单精度BINARY_FLOAT,双精度BINARY_DOUBLE支持set操作符支持正则表达式可以定义自己的引号处理,用q',表示分界,指一个单引号,后面可以使用(,{,[,等分界符封装,如q'[needstobeclosedwith]',对于nchar和nvarchar用nq'^ncharstring^',也可以把^改成其他的分界符号传统的是两个引号表示一个引号.看下面例子:SQLselectq'This'sacat'fromdual;Q'THIS'SACAT'------------------------This'sacatSQLselectq'_''_'fromdual;Q'_'----''SQLselectnq'^a^'fromdual;NQ--aSQLselectnq'_a_'fromdual;NQ--a更多的built_in包,并且扩展了原来的包DBMS_SCHEDULER更新DBMS_JOB.DBMS_SCHEDULERDBMS_CRYPTO提供加密技术DBMS_MONITOR监控DBMS_WARNING编译警告控制6第二章plsql开始1-1sql*plus使用登陆连接数据库sqlplusdingjun123/198403不推荐使用,暴露密码sqlplus会提示输入用户名,密码sqlplus/nolog不连接数据库,然后在connectdingjun123/198403不会暴露密码showall显示所有sql*plus设置用户定义变量definex='test';//注意与绑定变量的区别,直接定义definex=test也是正确的显示definex,显示值和类型Define显示所有的变量定义是definename=value,而绑定变量定义的时候不能赋值引用定义的变量,用&x,要加'',否则就是另一种情况了select'&x'fromdual;绑定变量definex='test';variablexvarchar2(10);//variable可以简写成varbegin:x:='ding';--绑定变量有前缀:end;/select:x,'&x'fromdual;SQLselect:x,'&x'fromdual;原值1:select:x,'&x'fromdual新值1:select:x,'dsadsa'fromdual:X'DSADSA'----------------------------------------------------------------------------dddsadsaL显示所有缓冲区内容n显示第几行deln删除第几行c/old/newntext插入到第n行i插入71-2绑定变量1.申明:直接在salplus中variablexvarchar2(10);不能赋值。绑定变量可以直接在plsql中使用,使用要加前缀:绑定变量是直接在主机环境中申明的,不能在plsql块中申明,在运行期赋值。一般针对可能使用很多变量,但是不清楚的情况下使用。可以提高效率。引号绑定变量必须加前缀:如:begin:x:='dj';end;/这样已经初始化了绑定变量x,看x的结

1 / 54
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功