- 浏览: 842434 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (530)
- Java编程 (64)
- C/C++/D (6)
- .Net/C# (9)
- Ruby (12)
- JavaScript (77)
- XML (1)
- JSON (1)
- Ajax (17)
- ExtJs (81)
- YUI (1)
- JQuery (7)
- DWR (1)
- HTML (7)
- CSS (7)
- Database (6)
- PowerDesigner (23)
- DB2 (2)
- Oracle (57)
- MS SQL Server (8)
- MySQL (6)
- JSP/Servlet/JSTL/TagLib (3)
- Spring (1)
- Hibernate (0)
- iText (0)
- Struts (0)
- Struts2 (0)
- iReport (0)
- FreeMarker (0)
- HttpClient (1)
- POI (6)
- FckEditor (15)
- Eclipse / MyEclipse (10)
- IntelliJ IDEA (0)
- NetBeans (0)
- Tomcat (11)
- WebLogic (1)
- Jboss (3)
- jetty (4)
- IIS (2)
- CVS/VSS (1)
- FTP (1)
- Windows/DOS (6)
- Linux/Unix (0)
- 软件建模 UML (0)
- Design Pattern & Thinking In Programming (10)
- 数据结构与算法 (12)
- 软件项目管理 (9)
- 行业应用解决方案 (3)
- 电脑软件与故障解决 (13)
- 编程语言 (1)
- 十万个为什么 (3)
- JBPM (2)
- sysbase (2)
- JDBC (8)
- Ant (2)
- Case-计算机辅助软件工程 (1)
- WebService (4)
- 浏览器 (1)
最新评论
-
gaoqiangjava:
同一楼,还请大手帮解决
JAVA读取word文件 -
hyl523:
// 判断数组中的第一个值是否未定义,如果未定义,便定义为空对 ...
javascript面向对象之二 命名空间 -
ping12132200:
ping12132200 写道我抱着个错不是因为:body标签 ...
extjs在IE报对象不支持此属性或方法 -
ping12132200:
我抱着个错不是因为:body标签内的第一个元素不能为文本tex ...
extjs在IE报对象不支持此属性或方法 -
fireinjava:
呀,不错,转走了,谢谢啦~
利用OpenOffice将word转换成PDF
2.1 PL/SQL程序结构
2.1.1 PL/SQL块的类型
所有的PL/SQL程序都是以块作为基本单位,以及都是由块组成的。
这些块可以是按顺序出现的,也可以是嵌套的
块可以根据其带名称和不带名称以及在数据库中的存储方式分为以下类型:
匿名块:只能执行一次,不能存储在数据库中
带名块:一种带标签的匿名块
子程序:可以存储在数据库中的过程,函数和包,可以多次执行,可以在外部的程序中显示调用
触发器:存储在数据库中的带名块,当相应的触发事件发生时触发器就被自动执行,触发器事件一般是针对特定的数据库表进行的DML语句,如INSERT,UPDATE,DELTE
<<I_Namedblock>>
DECLARE
v_num1 NUMBER := 1;
v_num2 NUMBER := 2;
v_str1 VARCHAR2 (30) := '你好!';
v_str2 VARCHAR2 (30) := '这是你第一次接触PL/SQL';
v_outputstr VARCHAR2 (30);
BEGIN
INSERT INTO test_table(ncolumn, vcolumn)VALUES (v_num1, v_str1);
INSERT INTO test_table(ncolumn, vcolumn)VALUES (v_num2, v_str2);
SELECT vcolumn INTO v_outputstr FROM test_table WHERE ncolumn = v_num1;
DBMS_OUTPUT.put_line (v_outputstr);
SELECT vcolumn INTO v_outputstr FROM test_table WHERE ncolumn = v_num2;
DBMS_OUTPUT.put_line (v_outputstr);
END I_Namedblock;
带名块就是在匿名块前面加上一个标签
把DECLARE关键字 变成 CREATE OR REPLACE PROCEDURE 就变成了存储过程
CREATE OR REPLACE PROCEDURE 过程名 IS
2.1.2 PL/SQL块的结构
所有块都包含3个部分:声明部分,执行部分,异常处理部分
DECLARE
v_ncolumn NUMBER :=6;
v_vcolumn VARCHAR2(30);
BEGIN
SELECT v_column INTO v_vcolumn FROM test_table WHERE ncolumn=v_ncolumn;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('没有找到匹配的数据');
END;
在过程和函数中声明变量是不需要DECLARE的,但在声明TRIGGER中的变量是必须要有DECLARE
如果块中不需要声明变量,类型和游标时,声明部分可以省略
执行部分是不可缺少的,一般以BEGIN开始 END结束。END关键字必须是分号结束的
2.1.3 词法单位
e代表乘以10的多少次幂
2.2 变量声明
Variable_name [CONSTANT] type [NOT NULL][:=value | DEAFULT value]
Variable_name是变量名
CONSTANT 声明的是一个常量
Type 是类型
NOT NULL 可选,表示不能为空
:=value | DEAFULT value表示赋值
缺省的变量会被初始化为NULL
不能把NULL付给一个定义为NOT NULL的变量acct_id INTEGER(5) NOT NULL;这样是不允许的
在NATURAL和POSITIVEN,他们被预先定义为NOT NULL
每行只能声明一个变量,这和其他语言不同
BEGIN END;是可以嵌套的
2.3 变量类型
4中标量类型(数字类型,布尔型,字符型,日期型)
复合型
引用型
LOB型
数字型的三种基本类型:BINARY_INTEGER,NUMBER,PLS_INTEGER
字符型:CHAR,VARCHAR2,LONG和LONG RAW,RAW,ROWID和UROWID
LOB类型:BFILE,BLOB,CLOB,NCLOB
布尔类型:BOOLEAN(TRUE,FALSE,NULL)
日期时间类型:DATE,TIMESTAMP,TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL YEAR TO MONTH,INTERVAL DAY TO SENCOND
复合类型:记录,表,数组
引用类型:REF CURSOR 和ref object_type
用户自定义类型
2.4 数据类型转换
显式转换,可以使用内置函数
隐式转换,隐式转换不是好的习惯,可能会影响效率,结果可能不可预料
2.5 表达式
表达式是由操作符和运算符的结合
CASE 表达式
CASE SELECTOR
WHEN express THEN result1
WHEN express THEN result3
WHEN express THEN result2
END;
本文出自 “achilles” 博客,请务必保留此出处http://orajc.blog.51cto.com/458434/94566
发表评论
-
oracle中怎样查询数据表的哪个字段是主键
2011-03-20 18:17 1517selecttable_name,constraint_nam ... -
ORACLE树查询,startwithconnectbyprior
2011-03-20 18:12 997[url=#author]周 登朋[/url] ([url=m ... -
java.sql.SQLException: ORA-00933: SQL command not properly ended
2010-10-08 19:16 2293java.sql.SQLException: ORA-0093 ... -
Oracle数据显示--横表转纵表
2010-10-06 11:42 11671.建表-- Create table create ta ... -
Oracle学习笔记
2010-07-28 00:30 8821、set linesize 100; 设置长度 2、se ... -
《Oracle9i PL/SQL 从入门到精通读书笔记1》
2010-07-26 19:51 1187Oracle9i PL/SQL 从入门到精通学习笔记 第一章: ... -
Oracle域用户安装
2010-07-05 19:43 1183问题:如果在域中安装Oracle 10G, 在DataB ... -
存储过程无法代替触发器的特殊情况
2010-07-03 13:30 1021在这里先解释一下推崇 ... -
informix的字符串类型详解(含与oracle的对比)
2010-07-03 13:29 1738lvarchar在9.4版本之后才可以用带指定长度的方式,如l ... -
oracle的字符串类型详解
2010-07-03 13:29 1664整理一下对于char,characte ... -
Oracle学习笔记
2010-07-01 20:29 7531、set linesize 100; 设置长度 2、se ... -
Oracle数据库函数(单行函数)
2010-07-01 20:28 903Oracle数据库函数(单行函数) Oracle中的函 ... -
oracle日期函数集锦
2010-07-01 20:26 771一、 常用日期数据格式 1.Y或YY或YYY 年的最后一位, ... -
Oracle时间加减
2010-07-01 20:23 1083加法 select sysdate,add_months(s ... -
Oracle中数值的计算
2010-06-30 23:46 1128运算符 含义 · +(加) 加法 · ||(加) ... -
Oracle常见问题处理
2010-06-30 23:46 935一、Oracle的安装目录不能是中文,否则安装不成功。解决:O ... -
Oracle基础练习(三)
2010-06-30 23:45 10461、select 5/2,null*5 from dual, ... -
如何在Oracle中建表格时就指定主键和外键
2010-06-30 23:42 1506创建表的语法-创建表格语法:create table 表 ... -
Oracle触发器中when语句的用法
2010-06-30 23:41 1435案例:scott.emp表的销售员工资只能增加,不能减少 代 ... -
通过银行转账业务体会JAVA与存储过程不同实现方式
2010-06-30 23:40 1188任务:帐户表(帐户号,姓名,余额,锁定)。实现帐号1向帐号2转 ...
相关推荐
通过阅读“Oracle9i PLSQL 入门到精通”这本书,读者可以系统地学习如何使用PLSQL进行数据库编程,从简单的数据操作到复杂的业务逻辑实现,逐步提升为数据库专家。书中的实例和实践项目将帮助读者巩固理论知识,提高...
Oracle9i PL/SQL从入门到精通
Oracle 12c从入门到精通,深入浅出的Oracle 数据库的入门简介
文档《oracle数据库从入门到精通.pdf》详细地介绍了Oracle数据库的基础知识和高级操作,使得学习者能够从基础的表空间创建到存储过程的编写,以及游标的应用等高级特性有深入理解和掌握。 首先,文档指出了创建表...
OracleGoldengate从入门到精通 Agenda Goldengate是什么? Goldengate适用的场景 Goldengate基本原理 Goldengate复制拓扑和异构 Goldengate产品线介绍 Goldengate产品的下载 快速的搭建一个...
本资料《Oracle PLSQL 从入门到精通》旨在帮助初学者和进阶者全面掌握这一语言,通过深入学习,你可以更好地管理和操作Oracle数据库。 PLSQL由三部分组成:声明部分、执行部分和异常处理部分。声明部分用于定义变量...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据重要地位。本文将深入探讨Oracle的基础知识,包括Oracle认证、用户管理和基本命令的使用。 首先,Oracle认证是衡量数据库管理员...
根据提供的文件信息,本文将对《Oracle从入门到精通》这一书籍进行详细的解析与总结,以便读者能够快速了解该书的主要知识点。 ### 一、Oracle数据库基础 #### 1.1 Oracle简介 - **定义**:Oracle是全球最大的企业...
在这个“Oracle 12c从入门到精通(第二版)”的学习资源中,你将深入理解Oracle数据库的基础知识以及高级特性,帮助你成为Oracle数据库的熟练用户。 首先,Oracle数据库的基础概念是学习的关键。这包括了解关系型...
《Oracle 从入门到精通(视频实战版)》是一本专为初学者设计的Oracle数据库教程,特别关注Oracle 11g这一版本。Oracle 11g是甲骨文公司的旗舰产品,集成了多年来数据库技术的积累和创新。这本书旨在帮助读者从零...
《Oracle从入门到精通》是由明日科技编著的一本详细介绍Oracle数据库管理的书籍,它主要面向初学者,旨在通过浅显易懂的语言和实际案例教会读者如何使用Oracle 11g数据库进行数据管理。本书共分为18章,内容全面覆盖...
本书《Oracle 11g从入门到精通》涵盖了Oracle 11g的基础知识、管理技能以及高级应用等多个层面的内容,适合初学者和有一定经验的DBA阅读学习。通过对上述知识点的学习,读者不仅能够掌握Oracle 11g的基本操作,还...
Oracle从入门到精通资料-pdf
《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...
Oracle+11g从入门到精通
本书《Oracle9i+PL_SQL从入门到精通》旨在帮助读者全面掌握Oracle9i数据库系统以及PL/SQL编程技能。对于初学者,书中可能从数据库基本概念开始讲解,如关系型数据库理论、数据库设计原则和SQL语言基础。随着内容的...