- 4
- 0
- 约1.43万字
- 约 15页
- 2017-08-29 发布于重庆
- 举报
oracleplsql编程语言精要概括
Oracle PL/SQL 重点总结
第一章:PL/SQL概念
1.PL/SQL引擎和ORACLE服务器执行图
2.客户端/服务器端架构中的PL/SQL(PL/SQL与SQL的执行区别)
执行一次SQL都需要与服务器端进行一次交互,当需要执行多个SQL时,此时与服务器端的交互量会非常大;但如果把这些SQL语句封装成PL/SQL语句块,进行一次性的与服务器端进行交互,这样占用的数据传输量就会少很多,而且速度更快。
使用PL/SQL的优点:占用网络少、传输速度快、移植性好。
3.PL/SQL的语句块结构
包含三部分:声明部分、可执行部分、异常处理部分;一个好的语句块都需要保证此三部分的完整性。
DECLARE
Declaration statements
BEGIN
Executable statements
EXCEPTION
Exception-handling statements
END;
注意:1.常量声明须添加constant: c_counter constant varchar2(30)
2.当编译过程完成时,命名PL/SQL语句块所的状态会设置为VALID,否则为INCALID
3.命名PL/SQL语句块的成功编译并不能保证未来这个语句块会成功执行,当执行语句块时,如果当前语句块所引用的任何存储对象不存在于数据库或者当前语句块无法访问,则无法执行,此时命名PL/SQL语句块所的状态会设置为INVALID
4.替代变量:使用前缀:或者,使用替代变量时,在执行程序前,需要用户提供替代变量的值;替代变量仅仅用于输入目的,不能用户输出某用户的值。
5.使用DBMS_PUTPUT.PUT_LINE语句:在使用前设置其开关:SET SERVEROUTPUT [ON/OFF]
第二章 通用语言基础
1.字符类型:字母、数字、符号(=、*、+、-等)和空格
2.词汇单元
1)标识符必须以字母开头,最多包含30个字符。
2)保留字是PL/SQL专用词,不能声明为标识符。
3)定界符只对PL/SQL有特殊含义的字符,例如算数操作符与引号等。
4)字面值是不代表标识符的值。
5)注释可以是单行注释(--)或者多行注释(/* … */)
3.操作符(界定符):表达式中分隔符
1)算数操作符(**、*、/、+、-)
2)比较操作符:=、、!=、、、=、》=、LIKE、IN、BETWEEN、IS NULL、IS NOT NULL、NOT IN
3)逻辑操作符:AND、OR、NOT
第三章 PL/SQL中的SQL
1.在oracle中,事物是程序员把一些列SQL语句组成的逻辑单元。程序员使用的事物的目的是保证数据的完整性。每个应用程序都为每次用户登录维护一个数据库会话,在执行COMMIT和ROLLBACK之前,应用程序会话所执行的数据库变更操作并不会保存呆数据库中,所有被插入或者修改的数据都保存在内存中,只是用于当前用户,修改的数据行被当前用户锁定,在解锁之前,其他用户不能进行更新;事物中COMMIT之前的语句所做操作都可以使用ROLLBACK被回滚;在执行COMMIT之后就不能被回滚了。为加强事物控制使用SAVAPOINT把大型PL/SQL语句拆分成多个易于管理的小单元。
1)COMMIT会把事物中的事件永久化;
2)ROLLBACK会删除事务中的事件。
DECLARE
声明
BEGIN
SQL语句1;
SAVAPOINT A;
SQL语句2;
SAVAPOINT B;
SQL语句3;
SAVAPOINT C;
ROLLBACK TO B;
COMMIT;
EXCEPTION
异常处理
AND;
注意:1.PL/SQL语句块的开始和结束并不意味着事物的开始于结束。
2.通常在事物的复杂部分之前使用SAVAPOINT,如果事物的这部分出现错误,则会回滚,允许事物的其他部分继续执行,保证了数据的完整性。
第四章 条件控制
1.IF控制语句
IF CONDITION1 THEN
STATEMENT 1;
ELSIF CONDITION2 THEN
--嵌套IF
IF CONDITION3 THEN
STATEMENT 3;
ELSE
STATEMTNE 4;
END IF;
--
ELSIF (CONDITION4) [OR/AND] (CONDITION5) THEN
STATEMENT 5;
ELSE
STATEMENT 6;
END IF;
2.CASE 控制语句:CASE语句、搜索式CASE语句
1)CASE语句
CASE SELECTOR
--SELECTOR CASE选择器,选择器只会计算一次
您可能关注的文档
- Buck-Boost变换器.doc
- Buck-Boost变换器原理(过程啊).doc
- buck变换器控制电路.doc
- buffalo测试.doc
- C++builder窗体设计.doc
- C++实现通信编解码及码型转换完整代码.docx
- C++流媒体解码编程技巧讨论.doc
- BQS矿用隔爆型潜水排沙电泵性能参数.doc
- C++的boost库的编译安装.docx
- Biee的变量总结.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)