chart01PLSQL简介
- 格式:ppt
- 大小:432.50 KB
- 文档页数:36
plsql简介⼀、pl/sql 是什么pl/sql(procedural language/sql)是oracle在标准的sql语⾔上的扩展。
pl/sql不仅允许嵌⼊sql语⾔,还可以定义变量和常量,允许使⽤条件语句和循环语句,允许使⽤例外处理各种错误,这样使得它的功能变得更加强⼤。
⼆、为什么要学pl/sql1.提⾼应⽤程序的运⾏性能2.模块化的设计思想(分页的过程,订单的过程,转账的过程。
)3.减少⽹络传输量4.提⾼安全性(sql会包括表名,有时还可能有密码,传输的时候会泄露。
PL/SQL就不会)三、Oracle为什么在PL/SQL developer执⾏很快,⽤c# oracleclient执⾏就慢因为PL/SQL这门语⾔是专门⽤于在各种环境下对Oracle数据库进⾏访问。
由于该语⾔集成于数据库服务器中,所以PL/SQL代码可以对数据进⾏快速⾼效的处理。
⽽c#语⾔是微软的产品,它在连接ORACLE的时候先存到“连接池”中,所以第⼀次会慢点,但是当你的Web程序没有重起的时候,以后的速度就不会慢了。
四、使⽤pl/sql的缺点移植性不好(换数据库就⽤不了)五、pl/sql理解1)、存储过程、函数、触发器是pl/sql编写的2)、存储过程、函数、触发器是存在oracle中的3)、pl/sql是⾮常强⼤的数据库过程语⾔4)、存储过程、函数可以在java中调⽤六、编写⼀个存储过程,该过程可以向某表中添加记录。
1、创建⼀张简单的表CREATE TABLE mytest(username VARCHAR2(30),pwd VARCHAR2(30));2、创建过程(replace:表⽰如果有insert_proc,就替换)CREATE OR REPLACE PROCEDURE insert_proc ISBEGININSERT INTO mytest VALUES('林计钦', '123456');END;/3、如何查看错误信息:show error;注意要在命令窗⼝执⾏4、如何调⽤该过程:exec 过程名(参数值1,参数值2...);eg、exec insert_proc;注意要在命令窗⼝执⾏。
PLSQL培训一、PLSQL简介PLSQL是ORACLE公司对SQL的一个扩展,也就相当于微软所扩展的TSQL一样。
它是一种过程化的语言,包括一整套的数据类型、条件结构、循环结构和异常处理结构,PLSQL可以执行SQL语句,SQL语句中也可以使用PLSQL函数。
二、PLSQL的数据类型只列出我们使用的VARCHAR2:可变长度字符串;注意:VARCHAR2 定义的长度为字节长度INT(INTEGER):整数;NUMERIC(M,N):小数;DATE:日期;BOOLEAN:布尔数。
Type:记录类型。
三、PLSQL DEV的使用。
四、PLSQL重要的一个组成:块DECLARE …;BEGIN…END;DECLARE :为声明部分,主要是声明这个块中用的变量,例:DECLARE V_CNT INT;该示例声明(或者说定义)了一个V_CNT的整形变量,与TSQL变量区别是变量名无需以@开头。
给变量赋值:V_CNT := 1;注1:赋值时候可以像程序语言一样直接赋值,赋值符号为:=;注2:在声明时候可以赋默认值,有如下两种方式:DECLARE V_CNT1 INT:=1; V_CNT2 INT DEFAULT2;注 3:另外一种赋值方式(如果是对一个变量直接赋一个静态值不要采取这种方式) DECLARE V_CNT INT;BEGINSELECT COUNT(*)INTO V_CNT FROM USER_TABLES;DBMS_OUTPUT.PUT_LINE(V_CNT);END;块中可以包含子块,类似于在程序语言中的一个函数体内部嵌入一个子函数体,而在子块中可以定义和父块中相同的变量名,在此,变量作用域与其他编程语言类似,子域中的变量覆盖父域中的变量。
块也可以加上名称,变为有名块。
BEGIN<<BLOCK1>>DECLARE V_CNT INT;BEGINV_CNT:=1;BEGIN <<BLOCK2>>DECLARE V_CNT INT;BEGINDBMS_OUTPUT.PUT_LINE(V_CNT);V_CNT:= 2;END;END;DBMS_OUTPUT.PUT_LINE(V_CNT);END;END;注:红色部分为子块,若需要引用父块中的变量,可以按如下方式引用父块名.变量名存储过程,函数都可以理解为一个指定了名字的块。
PLSQL使用详细介绍一、PL/SQL的定义PL/SQL(Procedural Language / Structured Query Language),中文名“结构化查询语言/过程语言”,是一种由Oracle Corporation开发的面向专业应用的程序语言。
最早是在Oracle 6.0中推出,随着Oracle数据库的发展,经过Oracle 7.0,Oracle 8.0,Oracle 8i,Oracle 9i,Oracle 10g,Oracle 11g,Oracle 12c的不断升级,PL/SQL也在这些过程中慢慢完善。
PL/SQL是一种面向步骤的查询语言,也是一种声明式语言,也可以把它看成是一种增强版的SQL,它完全兼容SQL,支持所有的SQL命令,它可以写SQL语句,也可以把多个SQL语句封装成一个存储过程(procedure)、函数(function)、触发器(trigger)、包(package)、游标(cursor)等对象,达到控制数据库、数据的收集,处理和分析等目的,从而提高程序的执行效率,给予用户更好的功能服务。
二、PL/SQL的功能1、PL/SQL支持一系列的现代计算机语言的特性,包括:变量声明、条件执行、循环控制、次级处理程序、异常处理(类似C语言)以及更多的其他特性。
这使得PL/SQL能够很容易地编写复杂的程序。
2、PL/SQL能够使用SQL语句实现数据对象的更新和查询。
能够编写出更加复杂和有效的SQL语句,比如视图(view)、存储过程(stored procedure)、触发器(trigger)等,同时也可以使用它进行数据的事务处理(transaction processing)和数据库管理(data base management)。
数据库语言和过程语言。
PL/SQL的基本单位叫做一个区段,由三个部分组成:一个申明部分,一个可运行部分,和排除-构建部分。
因为PL/SQL允许混合SQL申明和过程结构,因此可以在将申明发送到甲骨文系统去执行之前使用PL/SQL区段和副程序来组合SQL申明,没有PL/SQL,甲骨文需要就每次处理SQL申明,在网络环境中,这将影响交通流量,而且增加响应时间。
PL/SQL区段只被编译一次并且以可运行的形式储存,以降低响应时间。
背景结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单地调用相应语句来直接取得结果即可。
显然,这种不关注任何实现细节的语言对于开发者来说有着极大的便利。
然而,有些复杂的业务流程要求相应的程序来描述,这种情况下4GL就有些无能为力了。
PL/SQL 的出现正是为了解决这一问题,PL/SQL是一种过程化语言,属于第三代语言,它与C、C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。
本文主要介绍PL/SQL的编程基础,以使入门者对PL/SQL语言有一个总体认识和基本把握。
主要特性PL/SQL编辑器,功能强大——该编辑器具有语法加强、SQL 和PL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。
当您需要某个信息时,它将自动出现,至多单击即可将信息调出。
集成调试器(要求Oracle7.3.4或更高)——该调试器提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。
基本能够调试任何程序单元(包括触发器和Oracle8对象类型),无需作出任何修改。