orcale 之 pl/sql】的更多相关文章

orcale 中的例外我们可以看作是其他编程语言中的异常,是为了增强语言的健壮性和容错性. 在orcale中常见的有以下几种: No_data_found 很容易理解就是没有数据返回. Too_many_rows 在我们使用 select ... into 的时候这种错误经常的会发生,就是因为其返回了多条内容. Zero_Divide 被零除. Value_error 算数或者转换错误,比如说我们想把一个字符串 “abc” 转换成一个整数类型的数据 Time_on_resource 等待资源的时…
根据我们之前了解到的情况,SQL是面向集合的,我们的查询结果一般包含多条数据,而在PL/SQL 中的变量一般只能存放一条数据,因此变量是无法满足我们的需求的.这时候我们就需要引入游标来为我们解决问题了. 我们知道在 PL/SQL 中可以使用数据控制语言(DML)对数据进行操作,而在使用这些的时候 Orcale 会在内存中为其分配一个缓存区.而游标就是指向该缓存区的指针.它可以对查询结果集的每一行数据分别进行单独的处理. 游标分为显式游标和隐式游标.显式游标是由用户声明操作的一种游标,而隐式游标是…
控制语句是PL/SQL 的关键所在.只有学好这些控制语句才能在工作中更好的实现各种的功能. 选择结构 1. IF 语句 和其他的编程语言很类似.它的具体机构如下: IF(条件)THEN {语句} ELSIF(条件)THEN {语句} ELSE {语句} END IF; 注意上面的第二个条件那里是ELSIF 并不是 ELSEIF. 对于IF语句的情况请看如下的例子: --IF...THEN THEN INSERT INTO man values(Name,Birthday); ELSE INSER…
基本结构 不多说直接来看下它的结构: DECLARE -- 此处声明一些变量.常量.或者用户自定的数据类型 -- 这一部分是可选的,如果不需要可以不写 BEGIN -- 程序的主体,这里可以写一些合法的语句 EXCEPTION -- 处理异常 END; 从上面的结构中可以看出,由三部分组成:声明部分.执行部分和异常处理部分.其中执行部分是必须的,其他的部分都是可选的,记住最后 end 之后的分号是必须的. 注释 单行注释 由两个链接字符开始( -- ), 分号结束. 多行注释 由 /* 开始,…
  1>>>>>异常错误处理 1 >预定义的异常处理 预定义说明的部分 ORACLE 异常错误对这种异常情况的处理,只需在PL/SQL块的异常处理部分,直接引用相应的异常情况名,并对其完成相应的异常错误处理即可.例1:更新指定员工工资,如工资小于1500,则加100: DECLARE v_empno employees.employee_id%TYPE := &empno; v_sal employees.salary%TYPE;BEGIN SELECT sal…
今天第二次配置PL/sql developer,表示很蛋疼,昨天因为动了一个东西然后莫名其妙的就再也连接不了数据库,总是显示各种错误,我动的东西是因为中文会显示乱码,(因为我是用32位的PL/sql developer连接64位的orcale,所以参照网上的教程在添加了一个环境变量名字是NLS_LANG,值是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,然后把注册表下面的这个名字的值也改成了这一样的,然后我再次登陆就显示各种错误了,连改回去都不行,还尝试过重新创建数据库,最…
-------------------------------------------------------------------------------------------------------- 在服务器上,用PL/SQL连接Oracle数据库时,出现了一个问题,提示: Initialization error  Could not load "F:\oracle\bin\oci.dll"OCIDLL forced to Foracle\bin\oci.dllLoadLi…
一.PL/SQL简介1.什么是PL/SQL程序?(PL/SQL是对SQL语言的一个扩展,从而形成的一个语言) 2.PL/SQL语言的特点(操作Orcale数据库效率最高的就是PL/SQL语言,而不是C,C++,或者Java) 3.不同数据库的SQL拓展 二.PL/SQL基础语法 1.PL/SQL的程序结构 2.定义基本变量 三.PLSQL代码讲解 1.引用型变量讲解 2,记录型变量代码讲解 四.PLSQL中if语句的使用(begin开始到end就是程序段) 五.PLSQL循环语句 1,while…
1.pl/sql编程 2.存储过程 3.函数 4.触发器 5.包 6.pl/sql基础 -定义并使用变量 7.pl/sql的进阶 8.oracle的视图 1.pl/sql编程 1.理解oracle的pl/sql的概念    2.掌握pl/sql编程技术(过程.函数.触发器)    pl/sql是标准sql语句的扩展    简介        1.过程.函数.触发器都是由pl/sql编写        2.过程.函数.触发器是在oracle中        3.pl/sql是非常强大的过程语言  …
PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对 SQL 的扩展,它支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构,可用于创建存储过程.触发器和程序包,给SQL语句的执行添加程序逻辑,与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性.灵活性和安全性.   PL/SQL 的优点 支持 SQL,在 PL/SQL 中可以使用: 1.数据操纵命令 2.事务控制命令 3.游标控制…
适合自己的解决方法: 排查问题: 1. 你没有安装Oracle Client软件.这是使用PL/SQL Developer的必须条件.安装Oracle Client后再重试.2. 你安装了多个Oracle Client软件.在这种情况下,PL/SQL Developer可能会选择一个不正确的Oracle Client.点击登录页面的取消,点击工具>首选项>Oracle里的链接,从目录中选择正确的Oracle Home, 重启PL/SQL Developer后再重试.3. 你使用了一个Oracl…
1.if循环做判断 SET SERVEROUTPUT ON accept num prompt 'qinshuu'; DECLARE pnum NUMBER :=& num ; BEGIN THEN SYS.DBMS_OUTPUT.PUT_LINE (') ; ELSIF pnum THEN dbms_output.put_line (') ; ELSE DBMS_OUTPUT.PUT_LINE (') ; END IF ; END ; / 2.引用变量 SET SERVEROUTPUT ON…
PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编辑方法概览 答:1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和数据库打交道的方法,和ProC很相似,更底层,很少用; 4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多; 5) JDBC 6)…
问题描述: 登陆PL/SQL,执行SQL语句后,输出的中文标题显示成问号????:条件包含中文,则无数据.         如果不是中文,需要修改注册表值,方法如下: 进入注册表:Win+r,输入regedit后回车,依次单击HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->home(笔者安装的是Oracle 10g,这里显示成KEY_OraDb10g_home1),找到NLS_LANG(如果没有就新建),查看数值数据是否为:SIMPLIFIE…
问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual;    结果为AMERICAN_AMERICA.AL32UTF8 2.添加系统环境变量:   变量名:NLS_LANG   变量值:AMERICAN_AMERICA.AL32UTF8 3.重启PL/SQL即可…
在64位Win7系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时就不能使用PL/SQL Developer来进行直接连接的,所以要想实现连接还得需要其他途径来完成。下面就来说明如何实现连接。 一、下载Oracle客户端 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,点击连接进入会出现以下页面。 选择第一个Instan…
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQL程序设计终极指南>志在打造PL/SQL领域最为系统.全面.实战.权威的著作,通过一系列非常突出的优势在大量的同类书中脱颖而出,成为该领域的标准读物. PL/SQL本身涉及的知识点浩瀚.庞杂,初学者根本无法依靠自身能力理清头绪,学习成本极高.本书对知识点进行了体系化的梳理,化繁杂为有序,突出重点,直指核…
项目中有个需要需要如下pl/sql(数据库是MariaDB) ) AS small FROM cmp_ent_main a WHERE createTime<'2016-9-21' ,,) ) ; 执行时发现耗时近50秒,这是测试环境啊, 表cmp_ent_main,pk是id,有74836条记录:表cmp_ent_service_config,pk是entId和serviceType,有2254条记录,并不多. explain看一下执行计划: 说实话,mysql不熟,也并没看出什么门道. 经过…
自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套…
需求:Oracle数据库,B库和C库,某些表的表结构不一致,现在要求以C库为标准,同步更新B库表结构PL/SQL 连接到C库, Tools --> Compare User Objects .. --> 选择需要比对的表 --> Target Session (连接到B库) --> Compare --> 应用生成的sql修改语句同步表结构(建议把此时自动生成的sql复制出来,手工登录到B库根据实际需求选择性执行) PS:同一个库不同用户下的表同样可以比对.…
1.定义游标:列出每个员工的姓名.部门名称并编程显示第10个到第20个记录. declare cursor zemp_cursor is (select temp.ename, temp.dname from (select e.ename, d.dname, ROWNUM rn from zemp e, zdept d where e.deptno=d.deptno(+) ) temp ) ; begin for zemp_record in zemp_cursor loop --隐式打开游标…
转摘:http://www.cnblogs.com/ymj126/p/3712727.html 用于学习,笔记,以备后用. 1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer. 奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL  Developer.按理说安…
前几天碰到一个有趣的事情:早上同事执行一个包很久没有反应,就中断了执行,发邮件让我帮忙查看具体情况,我用PL/SQL Developer登录后,找到这个包的过程中发现这个包的图标有红色叉叉,也就是说这个包有地方没有编译通过,于是我便单击右键点击“重新编译”,结果一直没有响应,导致PL/SQL Developer直接卡死,刚开始没太留意,直接杀掉PL/SQL Developer相关进程,重新打开它然后编译这个包,结果还是这个情况,还是头一次遇到这种情况,一头雾水. 后来搜索了一下才知道原因: 1:…
今天遇到一个错误提示:ORA-06502:PL/SQL :numberic or value error: character string buffer too small,一般对应的中文信息为:ORA-06502: PL/SQL: 数字或值错误 :字符串缓冲区太小.仔细检查调试过程中才发现是开发人员定义了一个变量,但是在脚本里面赋予了该变量超过其长度的值.结果就报这个错误.我习惯总结每一个遇到的错误信息,既有利于学习.总结知识,也方便以后遇到此类问题能够及时给出解决方法. 如果执行oerr…
1.PL/SQL概述 1)概念 pl/sql(procedural language)是Oracle在标准sql语言的基础上的扩展,可以实现定义变量.使用逻辑控制语句等 作用:默认oracle一次只能处理一条SQL语句,每条SQL语句都会向服务器发送请求调用,如果使用PL/SQL,一个块中的语句作为一个组,只向服务器发送一次请求调用,减少了网络传输,节省带宽,提高效率,提高安全性 缺点:移值性差,只有oracle中可用 2)组成 pl/sql程序由块组成,由块可组成不同的程序形式,包括:匿名块.…
1.通过PL/SQL 想连接别的数据库可以通过在服务名前面加上IP和左斜线来实现: 2.有时我们的IP和左斜线不用输也能连别的数据库,是因为在一个文件里配置好了.这个文件在哪里? 在这个路径下的 NETWORK/ADMIN/tnsnames.ora文件中,我们可以看到 可以看到配置文件中已经配好了远程地址和端口,以及服务名,这时我们在登录的时候,Database选择PLATFORM1,其实选的是这套配置. 3.通过sqlplus连接远程数据库的写法如下 scott/tiger@172.16.10…
dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/admin 下的 listener.ora 中添加如下代码 添加一个监听器 LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = PC-20160403KSYS)(PORT = 1521)) ) ADR_BASE_LISTENER =…
PL/SQL是32位程序,只能通过32位的Oracle驱动连接Oracle服务器.如果Oracle服务器是64位的,那么只能通过需要通过一个32位的Oracle客户端,来搭建连接. 到官网下载一个客户端:http://www.oracle.com/technetwork/topics/winsoft-085727.html .根据Oracle服务端的版本号选择,相应的 客户端 :instantclient-basic-win32-11.2.0.1.0.zip 保存到客户端任意路径下,例如D:\s…
一.PL/SQL简介 1.概念:PL/SQL语言是Oracle数据库专用的一种高级程序设计语言,是对标准SQL语言进行了过程化扩展的语言. 2.功能:既能够实现对数据库的操作,也能够通过过程化语言中的复杂逻辑结构完成复杂的业务逻辑. 3.特点 (1)与SQL语言紧密集成,所有的SQL语句在PL/SQL中都能够得到支持. (2)减小网络流量,提高应用程序的运行性能. (3)模块化的程序设计功能,提高了系统可靠性. (4)服务器端程序设计可移植性好. 4.PL/SQL块的标准结构 DECLARE 声…
触发器:存放在数据库中,并被隐含执行的存储过程. 由触发事件,触发条件,触发操作组成. DML触发器:指定触发器时机(before or after),触发事件(insert  , delete, update),表名,触发类型,触发条件,触发操作 语句触发器: create [or replace] trigger trigger_name timing event1 [or event2 ..] on table_name PL/SQL block; trigger_name 触发器名 ev…