Oracle基础-PLSQL基础知识.pptx
《Oracle基础-PLSQL基础知识.pptx》由会员分享,可在线阅读,更多相关《Oracle基础-PLSQL基础知识.pptx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PLSQL基础知识基础知识郑欣SQL与PLSQLSQL是操作所有关系型数据库的规则,因为我们的数据大多都 存放在ORACLE数据库中,且对于关系型数据库而言,只能用SQL规则去操作,所有需要在程序中获取数据库的数据进行操作,所以必须学习SQL。主要在程序开发中,对数据的存取进行的一系统操作。容易调试,错误提示,直截了当SQL强调结果,忽略了过程。SQL与PLSQLPLSQL是专用于ORACLE服务器,在SQL基础之上,添加了一些过程化控制语句。过程化包括有:类型定义,判断,循环,游标,异常或例外处理。ORACLE数据库服务器对SQL做了符合自身的特点的扩展。即PLSQL只能在ORACLE数据库
2、服务器中运行因此:PLSQL=SQL+ORACLE自身的扩展,PLSQL强调过程为什么要用PLSQL因为SQL是第四代命令式语言,无法显示处理过程化的业务,所以得用一个过程化程序设计语言来弥补SQL的不足之处,SQL和PLSQL不是替代关系,是弥补关系PLSQL程序的完整组成结构如下declare 变量声明;变量声明;begin DML/TCL操作;exception 例外处理;例外处理;end;/注意:在PLSQL程序中,;号表示每条语句的结束,/表示整个PLSQL程序结束。执行一次后,可以输入“/”再执行一次。书写PLSQL的工具有(1)SQLPLUS工具(2)SQLDeveloper工具
3、(3)第三方工具(PLSQL&其它)PLSQL与SQL执行有什么不同(1)SQL是单条执行的(2)PLSQL是整体执行的,不能单条执行,整个PLSQL结束用/,其中每条语句结束用;号写一个PLSQL程序输出hello world字符串,语法:dbms_output.put_line(需要输出的字符串);会自动换行。begin -向SQLPLUS客户端工具输出字符串 dbms_output.put_line(hello 你好);end;/写一个PLSQL程序注意:dbms_output是oracle中的一个输出对象put_line是上述对象的一个方法,用于输出一个字符串自动换行 设置显示PLSQ
4、L程序的执行结果,默认情况下,不显示PLSQL程序的执行结果,语法:set serverout on/off;set serveroutput on;变量及声明选择变量名称的规则变量必须以字母(AZ)开头其后跟可选的一个或多个字母、数字(09)或特殊字符$、#或_变量长度不超过30个字符变量名中不能有空格变量及声明声明变量或常量的通用语法变量名 数据类型 DEFAULT|:=值;如:Year_ratenumber:=1.23;Day_ratenumber default 0.08;Pi constant number(9):=3.1415926;变量及声明定义与表某个字段类型相同的类型,可以不
5、知道字段的类型,可以根据原对象进行实时更新语法:变量名 表名.字段%TYPE;实际开发中常使用%type,而不常用%rowtype变量及声明例:输出7369号员工姓名和工资。declare -定义二个变量,分别装姓名和工资 pename emp.ename%type;psal emp.sal%type;begin -SQL语句 -select ename,sal from emp where empno=7369;-PLSQL语句,将ename的值放入pename变量中,sal的值放入psal变量中 select ename,sal into pename,psal from emp wher
6、e empno=7369;-输出 dbms_output.put_line(7369号员工的姓名是|pename|,薪水是|psal);end;/变量及声明将一条记录的所有字段都保存到一个变量中的语法:变量 表名%ROWTYPE;例:定义行变量Declare emp_record emp%rowtype;BeginEnd/注意:定义成%rowtype的变量,必须要与表结构的字段完全一样。可以根据原对象进行实时更新变量及声明范例:输出7788号员工姓名和工资declare emp_record emp%rowtype;begin select*into emp_record from emp w
7、here empno=7788;dbms_output.put_line(7788号员工的姓名是|emp_record.ename|,薪水是|emp_record.sal);end;/变量作用范围及可见性变量作用范围及可见性变量的作用范围是在你所引用的程序单元(块、子程序、包)内。即从声明变量开始到该块的结束。一个变量(标识)只能在你所引用的块内是可见的。当一个变量超出了作用范围,PL/SQL引擎就释放用来存放该变量的空间(因为它可能不用了)。在子块中重新定义该变量后,它的作用仅在该块内。建议变量的命名方法:标识符标识符命名规则命名规则例子例子程序变量程序变量V_nameV_name程序常量程
8、序常量C_NameC_company_name游标变量游标变量Name_cursorEmp_cursor异常标识异常标识E_nameE_too_many表类型表类型Name_table_typeEmp_record_type表表Name_tableEmp记录类型记录类型Name_recordEmp_recordSQL*Plus 替代变量替代变量P_nameP_sal绑定变量绑定变量G_nameG_year_sal常用运算符、表达式 类型字符说明数学运算符+-*/*加号减号乘号除号乘幂布尔运算符=相等不等于小于大于小于等于大于等于常用运算符、表达式 类型字符说明其他符号.|&“”范围运算符字符串
9、连接远程数据库指示符字符串起始符号字符串结束符号捆绑变量指示器引用开始符号引用结束符号PL/SQL的控制结构选择条件结构循环结构顺序结构包括如下三类:条件控制语句:IF 语句循环语句:LOOP语句,EXIT语句顺序语句:GOTO语句,NULL语句 选择结构 1)IF THEN PL/SQL 和 SQL语句 END IF;2)IF THEN PL/SQL 和 SQL语句 ELSE 其它语句 END IF;选择结构 3)IF THENPL/SQL 和 SQL语句ELSIF THEN其它语句ELSIF THEN其它语句ELSE其它语句END IF;选择结构 范例:使用if-else-end if显示
10、今天星期几,是工作日还是休息日“declare pday varchar2(10);begin select to_char(sysdate,day)into pday from dual;dbms_output.put_line(今天是|pday);if pday in(星期六,星期日)thendbms_output.put_line(休息日);elsedbms_output.put_line(工作日);end if;end;/选择结构 从键盘接收值,使用if-elsif-else-end if显示age16,age30,age60,age80“declare age number(3):=
11、&age;begin if age 16 then dbms_output.put_line(你未成人);elsif age 30 then dbms_output.put_line(你青年人);elsif age 60 then dbms_output.put_line(你奋斗人);elsif age 80 then dbms_output.put_line(你享受人);else dbms_output.put_line(未完再继);end if;end;/NULL结构空操作或空值结构 处理方法if count60 then Null;else INSERT INTO member VALU
12、ES(1,jack);end if;循环结构1.简单循环简单循环LOOP 要执行的语句;EXIT WHEN ;/*条件满足,退出循环语句*/END LOOP;循环结构例:使用loop循环显示1-10DECLARE int NUMBER(2):=0;BEGIN LOOP int:=int+1;DBMS_OUTPUT.PUT_LINE(int 的当前值为:|int);EXIT WHEN int=10;END LOOP;END;循环结构 2、WHILE 循环循环WHILE LOOP 要执行的语句;END LOOP;循环结构例:使用while循环显示1-10DECLARE x NUMBER;BEGIN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 基础 PLSQL 基础知识
限制150内