今日有针对NULL值有了相关实验. 对NULL 值插入的讨论. 1, PL/SQL 中可以执行插入''或者NULL 的操作, 前提是栏位允许为空. 2, 可以对NULL进行一系列数据库运算. 如:      FROM SFISM4.R_WIP_TRACKING_T A WHERE  A.IN_STATION_TIME IS NULL   总结: 相应TO_NUMBER(NULL)也是可行, MAX 也是可行得,没有问题. 3, 回归主题, SQL 原本的样子要做成这个样:   INSERT IN…
1.  下载64位Oracle,解压两文件,解压完成后将文件合并,安装: 2.  下载PL/SQL,安装: 3.  下载instantclient-basic-win32-11.2.0.1.0.zip,解压后剪切instantclient_11_2文件夹,粘贴到Oracle安装目录中product文件夹下: 4.  从Oracle安装目录下拷出NETWORK文件夹(如H:\Oracle\product\11.2.0\dbhome_1),并粘贴到instantclient_11_2文件夹内: 5.…
Oracle 11g+oracle客户端(32位)+PL/SQL develepment的安装配置 之前一直想学Oracle,可是就是安装配置Oracle一直未成功,让人很苦恼,特别是什么监听器什么的,一直没搞明白,弄了整整一天都没弄出来,上网查资料后发现资料上大多数都是参差不齐,不太详细明了,尝试过后都未成功,现在通过我的精心调制,总算安装成功了,想与大家分享!   一.Oracle 11g数据库的安装   1.安装前的准备 安装文件下载地址:http://pan.baidu.com/s/1p…
一.oracle客户端免安装配置 1.到oracle官网下载Oracle InstantClient, 把它解压缩到单独目录,例如C:\OracleClient,2. 添加环境变量 ORACLE_HOME C:\OracleClient  (可选) TNS_ADMIN C:\OracleClient (可选)指定tnsnames.ora文件的存放路径.如果不配置该变量,配置了ORACLE_HOME环境变量,则自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.…
PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL). PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语句的使用上添加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑推断.循环等操作实现复杂的功能或者计算的程序语言. 总结下来就是是sql语言的扩展,sql语句+变量和常量+条件语句+循环语句+例外处理各种错误! PL/SQL的作用 使用PL/SQL能够编写具有非常多高级功能的…
--ORACLE PATCH 版本的查询 PL/SQL SELECT DD.PATCH_NAME,        PP.CREATION_DATE,        PP.DRIVER_FILE_NAME,        LANG.LANGUAGE  FROM AD_PATCH_DRIVERS PP,        AD_APPLIED_PATCHES DD,        AD_PATCH_DRIVER_LANGS LANG WHERE PP.APPLIED_PATCH_ID = DD.APPL…
之前一直想学Oracle,可是就是安装配置Oracle一直未成功,让人很苦恼,特别是什么监听器什么的,一直没搞明白,弄了整整一天都没弄出来,上网查资料后发现资料上大多数都是参差不齐,不太详细明了,尝试过后都未成功,现在通过我的精心调制,总算安装成功了,想与大家分享!   一.Oracle 11g数据库的安装   1.安装前的准备 安装文件下载地址:http://pan.baidu.com/s/1pJ5S2BT 将Oracle11g的两个文件解压到同一个目录下,出现如下结构:    点击setup…
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 组函数 本文将讨论如何利用单行函数以及使用规则. SQL中的单行函数 SQL和PL/SQL中自带很多类型的函数,有字符.数字.日期.转换.和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数.这些函数均可用于SELECT,WHERE.ORDER BY等子句中,例如下面的例子中就包含了TO…
PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对 SQL 的扩展,它支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构,可用于创建存储过程.触发器和程序包,给SQL语句的执行添加程序逻辑,与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性.灵活性和安全性.   PL/SQL 的优点 支持 SQL,在 PL/SQL 中可以使用: 1.数据操纵命令 2.事务控制命令 3.游标控制…
解压将下载到的将其解压,如我解压到了 E:\app\instantclient_11_2 3.设置PLSQL Developer在tools-prefrences,conncetion,OCI libriary输入 E:\app\instantclient_11_2\oci.dllOCI home输入 E:\app\instantclient_11_2\ 4.添加环境变量添加环境变量系统变量中添加2个:第一个是指向TNS文件所在目录的,这个目录是你安装的64位版本Oracle的TNS文件所在目录…
PL/SQL是没命名的存储过程,函数,触发器,PL/SQL块的语法格式如下: [declare] --声明部分,可选 begin --执行部分,必须 [exception] --异常处理部分,可选 end PL/SQL块每条语句必须用分号结束,单行注释--,多行注释/*...*/,下面是一个PL/SQL块例子 set serveroutput on declare --声明变量 a int :=  1; --声明并且赋值 address varchar2(128); mobilephone va…
附送PL/SQL Developer11中文版下载地址 1.先到Oracle网站下载Instant Client : http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 根据你的操作系统选择不同的Instant Client版本 下载会是一个压缩文件,解压之后的文件夹叫:instantclient_12_1.放在你喜欢的目录即可.例如:E:\Program Files\PLSQL…
我用的是win764位,装好后,装了pl/sql 和toad,都连不上数据库,报错位“无法解析指定的连接标识符” 解决办法,经过研究发现安装目录有问题.默认会安装在“C:\Program Files (x86)”这个目录下,以前有空格也没问题,起初没在意,后来经过研究发现,确实是目录的问题,括号让pl/sql不爽了.记录下,解决了.…
编写分页过程         通过pl/sql实现分页过程,再该过程中由简单到难一步步深入,目的在于通过该案例熟悉pl/sql的各种存储过程,包,游标.怎样在java中调用等内容的学习. 1.无返回值的存储过程 比如 1.能够向book表加入书, ---建表 Create table book(bookId number,bookName varchar2(50),publishHouse varchar2(50)); --编写过程 in 表示变量为输入值.假设不写默觉得输入值,而不是输出变量,…
程序异常是在操作期间正常,出现在节目的准备过程是不可避免的例外.但是,必须有一个相应的异常处理机 制,以保证程序的正常运行.PL/SQL程序运行过程中出现的错误.称为异常. 一个优秀的程序都应该可以正确处理 各种出错的情况.并尽可能的从错误中恢复. PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常运行过程中未预料的事件,程序块的异常处理定义的错误和自己定义的错误, 因为PL/SQL程序块一旦产生异常而没有指出怎样处理时,程序就会异常的终止. 有三种类型的错误…
现象描述: 用plsql developer 连接编译procedure 的时候都很正常.一旦开始Test进入Debug模式的时候就Hang住了. 初步猜测是没有权限,可是是DBA角色呀,如果没有权限会直接报没有权限的错误吧. 后面猜测是Oracle 或者PL SQL Developer的版本问题,用同一个PLSQL 在相同版本的不同机器上测试,结果另外一台机器可以Debug. 开始猜测是不是RAC的原因. 搜索到这个解释:http://forums.allroundautomations.co…
解压缩 instantclient_12_1 到 D:\Oracle\instantclient_12_1 在文件夹内建立目录, /NETWORK/ADMIN 在该目录下,新建文件tnsnames.ora adamdb = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1521)) ) (CONNECT_DATA = (SID = adamdb) ) ) 添加环境变量 […
做了那么多年的开发第一次写博客,一开始是没想过要写博客的,后来想写,却一直不敢写,一个是怕自己写的不好,误导人家,二来是不太自信.现在想起写博客是因为,真正的勇士敢于面临淋漓的鲜血,希望能提高自己,也是做个记录自己不容易忘记,如果有哪里写的不好的,希望各位海涵,给出意见与批评,让我更上一层楼.谢谢.(以前一直用Sql server,现在用oracle,可能有不对的地方,望大家指导) 回归正题: 第一步备份数据: 打开PL/SQL.(这里以两个数据库举例,现在备份的是TestFirstDB) 找到…
pl/sql组成:DDL DML DCL pl/sql特点: SQL&PL/SQL编译器集成PL/SQL,支持SQL所有范围的语法 支持CASE语句和表达式 继承和动态方法释放 类型进化.属性和方法可以添加到对象类型中,也可以从对象类型中删除,不需要重新构建类型和响应数据.这使得类型体系能够随着应用改变,不需要在开始的地方就规划好. …… 数据抽象 信息隐藏 开发和运行环境:pl/sql编译和运行系统时一项技术而不是一个独立的产品,pl/sql能够驻留在oracle数据库服务器和开发工具两个环境…
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 --隐式打开游标…
czmmiao 存储过程概述 存储过程是子程序的一种类型,能够完成一些任务,作为schema对象存储于数据库.是一个有名字的PL/SQL代码块,支持接收或不接受参数,同时也支持参数输出.一个存储过程通常包含定义部分,执行部分,Exception部分,可以被其他子程序调用,也可以被重用.过程定义CREATE [OR REPLACE]PROCEDURE procedure_name[(argument_name [IN | OUT | IN OUT] argument_type)]AS | ISBE…
8.使用PL/SQL编写触发器: 触发器存放在数据缓冲区中.        触发器加序列能够实现自动增长.        在触发器中不能使用connit和rollback.        DML触发器在对特定的表执行DML(insert.update.delete)操作时激发.        语句级不能用:new和:old,行级可用.(在触发器中加上for each row就是行级触发器,不加则默认语句级)        一张表可以有多个触发器,但是一个触发器只能监听一个表. 定义触发器:   …
首先搞清楚俩概念 存储过程(procedure)&程序包(package) 存储过程:数据库对象之一,可以理解为数据库的子程序,在客户端和服务器端可以直接调用它.触发器是与表直接关联的特殊存储过程,是在对表记录进行操作时触发的. 优点 存储过程在服务器端运行,执行速度快. 存储过程执行一次后,代码就驻留在高速缓存,以后的操作只需从高速缓存中调用已编译的代码执行,提高了系统性能. 确保数据库的安全.可以不授权用户直接访问应用程序中的一些表,而是授权用户执行访问这些表的存储过程.非授权的用户除非通过…
一.如何查看PLSQL的执行计划 在SQl Window窗口输入sql语句,然后按键"F5",就会进入执行计划查看界面. 二.界面说明 首先我们看第二行有几个属性可以选“Tree”.“HTML”.“Text”.“XML”.这几个里面的核心数据是一样的,不同的只是对核心数据的展示方式,分别为Tree.HTML.Text.XML.这个可以根据个人习惯来进行选择. 再下面有几个列属性(每个人的列属性可能会不同,这个是可以在PLSQL中进行配置) 我们首先看第一列的Description:下面…
一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在.  那么,作为开发人员,怎么样比较简单的利用执行计划评估SQL语句的性能呢?总结如下步骤供大家参考:  1. 打开熟悉的查看工具:PL/SQL Developer.    在PL/SQL Developer中写好一段SQL代码后,按F5,PL/SQL Developer会自动打开执行计划窗口,显示该SQL的执行计…
PL/SQL 游标 emp.dept 目标表结构及数据 要求 基于部门表建立游标dept_cursor1,使用记录变量接收游标数据,输出部门表信息: 显示格式: 部 门 号: XXX 部门名称: XXX 所在位置: XXX 基于部门表建立游标dept_cursor2,使用标量变量接收游标数据,输出部门表信息: 显示格式:部门号:XXX 部门名称:XXX 所在位置:XXX 基于雇员表建立游标emp_cursor,根据用户输入的部门号,输出该部门薪水在5000元上的雇员姓名.薪水. 显示格式:雇员姓…
set serveroutput on declare a ; b ; c number; begin c:=(a+b)/(a-b); dbms_output.put_line(c); exception when zero_divide then dbms_output.put_line('除数不许为零!'); end; / set serveroutput on declare var_ename emp.ename%type; --声明与ename列类型相同的变量 var_job emp.…
树状结构 存储过程中通过递归构建,类似BBS回帖显示,代码共三段: 建表,插入数据,创建存储过程显示: 1.create table article(id number primary key,cont varchar2(4000),pid number,idleaf number(1), --0为非叶子节点,1为叶子节点alevel number(2)); 2. insert into article values(1,'蚂蚁大战大象',0,0,0);insert into article v…
------------------------抽象数据类型----------- --创建地址类型,一定要加as object,还可以在类型中加过程或方法 create or replace type address as object ( province varchar2(10), --省份属性 city varchar2(10) --市属性 ) not final; --not final表示该类型可以有子类型 --定义一个子类型 --under address说明这个类型继承至addr…
[本文介绍] 本文不是”语法大全“,只是记录下作项目里自己常用的一些语法.方便查询. [语法] [输出]   (1)输出语法 DBMS_OUTPUT.PUT_LINE( ) [定义]   (1)定义变量: ...... as 变量名 类型(长度) begin ...... 例如: (2)定义变量 ,类型 依赖其他变量的类型 例如: 这样,改了name的类型,returnValue类型也跟着改变. (3)自定义类型(类似C语言的结构体)每次只能拿一条数据,不然会的报错. 例如: (4)以“表”做为…