--将方法和过程用包定义 create or replace package pkg_emp as --输入员工编号查询出员工信息 procedure pro_findInfo( in_empno emp2.empno%type, out_name out emp2.ename%type, out_sal out emp2.sal%type ); --根据部门编号修改本部门员工工资 procedure pro_editInfo( in_emp_record emp2%rowtype, out_f…
Oracle数据库之PL/SQL包 1. 简介 包(PACKAGE)是一种数据对象,它是一组相关过程.函数.变量.常量和游标等PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来标识. 包类似于Java或C#语言中的类,包中的变量相当于类中的成员变量,过程和函数相当于类方法. 通过使用包,可以简化应用程序设计,提高应用性能,实现信息隐藏.子程序重载等面向对象语言所具有的功能. 与高级语言中的类相同,包中的程序元素也分为公用元素和私用元素两种,这两种元素的区别是他们允许访问的…
oracle instantclient basic +pl/sql 安装和配置 大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的,oracle客户端有点大,比较耗资源.其实oracle为我们提供了轻便的工具:oracle instantclient package. 使用此工具,就无需安装oracle客户端了. 如何使用呢?详细步骤如下: 1.下载oracle instantclient basic package,在oracle官网下载就可以,地址如下: htt…
过程,函数,触发器是PL/SQL编写的,存储在oracle中的.PL/SQL是非常强大的数据库过程语言. PL/SQL优点:性能,模块化,网络传输量,安全性缺点:移植性不好 简单分类:块:过程,函数,触发器,包 Demo:create or replace procedure sp01 isbegin insert into ice.persons values(10,'jack',18,'shenzhen'); commit;end sp01; 编写规范:1.注释单行注释 --多行注释 /*.…
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQL程序设计终极指南>志在打造PL/SQL领域最为系统.全面.实战.权威的著作,通过一系列非常突出的优势在大量的同类书中脱颖而出,成为该领域的标准读物. PL/SQL本身涉及的知识点浩瀚.庞杂,初学者根本无法依靠自身能力理清头绪,学习成本极高.本书对知识点进行了体系化的梳理,化繁杂为有序,突出重点,直指核…
免安装Oracle客户端使用PL/SQL Oracle客户端挺招人烦的,部署连接它的应用通常需要先安装它的客户端,安装程序要求在目标机器上写注册表,假设你没有洁癖的话,你仍可能被下面的事情绊住:当你的机器上的其他程序依赖于x64的Oracle的程序,并且它们很有可能根本不是你写的,因此你还不敢随便乱动服务器,但是你可能需要一个PL/SQL用来在相同的环境下执行查询,这个时候你还是需要一个免安装的办法来处理这个问题. 1.下载Oracle Instant Client (32-bit) 因为我的P…
Oracle 客户端安装 +  pl/sql工具安装配置 下载oracle客户端,并在本地安装. 11g下载地址为: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 10g下载地址为: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 根据自己机器或者oracle服…
Oracle数据库之PL/SQL触发器 1. 介绍 触发器(trigger)是数据库提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行.触发器经常用于加强数据的完整性约束和业务规则等. Oracle触发器有三种类型,分别是:DML触发器.替代触发器和系统触发器. DML触发器 顾名思义,DML触发器是由DML语句触发的.例…
Oracle数据库之PL/SQL过程与函数 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据库中,以便共享. 过程和函数均存储在数据库中,并通过参数与其调用者交换信息.过程和函数的唯一区别是函数总向调用者返回数据,而过程不返回数据. 1. 存储过程概念 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中.经过第一次编译后再次…
Oracle数据库之PL/SQL异常处理 异常指的是在程序运行过程中发生的异常事件,通常是由硬件问题或者程序设计问题所导致的. PL/SQL程序设计过程中,即使是写得最好的程序也可能会遇到错误或未预料到的事件.一个健壮的程序都应该能够正确处理各种异常情况,并尽可能从中恢复. 1. 异常处理 异常处理是用来处理正常执行过程中未预料的事件.PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会自动终止整个程序运行. PL/SQL编程过程中,有三种类型的异常: 1.预定义异常 对这种异常情况的处…
Oracle数据库之PL/SQL流程控制语句 在任何计算机编程语言(如C,Java,C#等)都有各种流程控制语句,同样,在PL/SQL中也存在这样的流程控制结构. 几种常见的流程控制结构: 一.条件结构 1. 简单IF结构 -- 简单IF结构 IF <布尔表达式> THEN 满足条件时执行的语句 END IF; 2. IF-ELSE结构 -- IF-ELSE结构 IF <布尔表达式> THEN 满足条件时执行的语句 ELSE 不满足条件时执行的语句 END IF; 3. 多重IF…
PL/SQL程序设计简介 一.什么是PL/SQL? PL/SQL是 Procedure Language & Structured Query Language 的缩写. ORACLE的SQL是支持ANSI(American national Standards Institute)和ISO92 (International Standards Organization)标准的产品.PL/SQL是对SQL语言存储过程语言的扩展.从ORACLE6以后,ORACLE的RDBMS附带了PL/SQL.它…
Oracle 11g和PL/SQL安装完后,发现打开PL/SQL并不能连接Oracle数据库! [第一回合]完败! 先是在网上找解决方法,说是需要使用Net Configuration Assistant或Net Manage配置监听程序和本地网络服务名. 然后就依方法各种改各种配置,又是写主机名又是查局域网IP或127.0.0.1的保留IP,经过半天折腾!结果证明该方法并不能让PL/SQL连接Oracle! [第二回合]又完败! 然后查到说是需要直接配置文件,改listener.ora.sql…
一.PL/SQL 块 (一)PL/SQL 程序由三个块组成,即声明部分.执行部分.异常处理部分 PL/SQL 块的结构如下: 1.DECLARE /* 声明部分: 在此声明 PL/SQL 用到的变量,类型及游标,以及局部的存储过程和函数 */ 2.BEGIN /* 执行部分:过程及 SQL 语句 , 即程序的主要部分* 3.EXCEPTION /* 执行异常部分: 错误处理 */ 4.END; 其中 执行部分是必须的. (二)PL/SQL 块可以分为三类: 1.无名块:动态构造,只能执行一次.…
一. 1.过程,函数,触发器是pl/sql编写.                2. 过程函数触发器是在Oracle中.                      3.pl/sql是非常强大的数据库过程语言.                4.过程函数可在Java程序中调用 二. 1.提高应用程的运行性能.  2.模块化的设计思想(分页的过程,订单的过程,转账的过程)    3.减少网络传输量   4.提高安全性.   移植性不好 三. 系统跑的很慢:1.sql语句优化 2.写成存储过程 四.(…
       SQL(Structure Query Language)的含义是结构化查询语句,最早由Boyce和Chambedin在1974年提出,称为SEQUEL语言.1976年,IBM公司的San Jose研究所在研制关系数据库管理系统System R时修改为SEQUEL2,即目前的SQL语言.1976年,SQL开始在商品化关系数据库管理系统中应用.1982年美国国家标准化组织ANSI确认SQL为数据库系统的工业标准.目前,许多关系型数据库供应商都在自己的数据库中支持SQL语言,如:Acc…
实例1--if语句 /* 慕课网Oracle数据库开发必备之PL/SQL_2-3 判断用户从键盘输入的数字 1.如何使用if语句 2.接收一个键盘的输入(字符串) */ set serveroutput on; --接收一个键盘输入 --num:地址值,含义是:在该地址上保存了输入的值 accept num prompt '请输入一个数字'; declare --定义变量保存键盘输入的数字 pnum number := &num; begin --执行if语句进行条件判断 then dbms_o…
1. PL/SQL概述 PL/SQL(Procedural Language/SQL)是Oracle的专用语言,是对标准SQL语言的扩展,它允许在其内部嵌套普通的SQL语句,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误.SQL语句的数据库操纵能力.数据查询能力和PL/SQL的过程处理能力结合在一起,可以实现比较复杂的业务逻辑. 1.1 PL/SQL块结构 PL/SQL程序都是以块(BLOCK)为单位,整个PL/SQL块分3部分:声明部分(DECLARE).执行部分(…
从10G开始,Oracle 提供了一个较为轻量级的客户包,叫做Instant Client Package. 将它安装好后,就不用再安装庞大的Oracle客户端,可以直接通过使用PL/SQL连接服务器端Oracle. 下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html Instant Client 有2个版本:Basic和Basic Lite.Basic版本包括了所有的…
只需要在Oracle下载一个叫Instant Client Package的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的. 下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html 登陆帐户QQ邮箱 下载这个,Instant Client Package - Basic包.然后解压到任意目录,在这个目录下建立NETWORK文件夹,接…
转载:http://www.cnblogs.com/xihuaodc/p/3189257.html  因为之前的Oracle不能用了,所以重新安装了64位的Oracle,安装一路正常 完了之后安装了PL/SQL Developer,连接时提示“SQL*Net not properly installed”错误 解决方法如下: 1.去Oracle官网下载32位的客户端 由于PL/SQL是32位的,所以要用32位的客户端,且版本最好能对应(我的版本:11.2.0.1.0) 地址:http://www…
1)安装Oracle 11g 64位,我用的版本下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0),下载地址为: http://www.oracle.com/technetwork/database/features/ins…
介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql书写工具. 下载链接:http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html PLSQL是程序设计语言,可以用来操作Oracle数据库! 学习PL/SQL目的:1)操作ORACLE数据库…
今天在发布ASP.NET WEB网站时发现程序连接不了数据 报“ORA-12154: TNS: 无法解析指定的连接标识符”的错误,但PL/SQL连接又没有问题.真莫名其秒.在百度找了好多相关的问题.都没有解决我的问题. 最后我的解决方案是: 1.将ORACLE安装目录下的sqlnet.ora 文件里的 names.directory_path= (tnsnames) 改成 names.directory_path= (tnsnames ezconnect). 2.重启服务器问题完美的解决了.…
1. 游标概念 字面意思是游动的光标,是指向上下文区域的句柄或指针. 在PL/SQL块中执行CRUD操作时,ORACLE会在内存中为其分配上下文区.用数据库语言来描述游标就是:映射在上下文区结果集中一行数据上的位置实体. 用户可以使用游标访问结果集中的任意一行数据,将游标指向某行后,即可对该行数据进行操作.游标为应用提供了一种对具有多行数据查询结果集中的每一行数据分别进行单独处理的方法,是设计嵌入式SQL语句的应用程序的常用编程方式. 在每个用户会话中,可以同时打开多个游标,其最大数量由数据库初…
PL/SQL程序设计基础 一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执行部分——PL/SQL语句和SQL语句 */ EXCEPTION /* * 异常处理部分——处理运行异常 */ END; /*块结束标记 */ 要实现PL/SQL程序设计,先介绍如下的基本内容: 二.标识符 PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同:…
模拟Oracle性能诊断艺术做了两个试验样品.书上说的不承担RELIES_ON.果缓存的失效操作(result_cache RELIES_ON(test1,test2)).试验证明不正确,函数f1()并没有使用RELIES_ON,但表上的变化影响到了函数. C:\Documents and Settings\guogang>sqlplus gg_test/gg_test@10.10.15.25_gg SQL*Plus: Release 10.2.0.1.0 - Production on 星期一…
WHEN子句说明触发约束条件.Condition为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL函数.WHEN子句指定的触发约束条件只能用在BEFORE和AFTER行触发器中,不能用在INSTEAD OF行触发器和其它类型的触发器中. -- 创建记录操作事件的表 CREATE TABLE event_table( event VARCHAR2(50), time DATE ); -- 创建触发器 CREATE OR REPLACE TRIGGER tr_star…
一.安装12c简易客户端 下载:instantclient-basic-nt-12.2.0.1.0.zip 下载并解压到本地目录D:\app\instantclient_12_2 创建tns连接文件:先创建目录D:\app\instantclient_12_2\NETWORK\ADMIN tnsnames.ora的内容如下 ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = )) (CONNECT_DATA = (SERVICE_NA…
一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执行部分——PL/SQL语句和SQL语句 */ EXCEPTION /* * 异常处理部分——处理运行异常 */ END; /*块结束标记 */ 要实现PL/SQL程序设计,先介绍如下的基本内容: 二.标识符 PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同: 标识符名第一个字符必须为…