- 浏览: 173584 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (157)
- 心情故事 (2)
- SWT/JFACE/RCP (5)
- 数据库 持久层 (22)
- 程序开发的小常识 (17)
- 设计模式 (6)
- UML图 (1)
- 框架相关文章 (15)
- 消息服务 (3)
- javascript ajax jquery (12)
- servlet http 协议 (1)
- 中间件 服务器 JNDI (11)
- EJB (4)
- core JAVA jvm (17)
- 算法 算数 智力题 (5)
- 版本控制软件 (1)
- 软件下载 (15)
- quartz job (2)
- xml (2)
- 线程 (9)
- 英语专栏学习 (0)
- SWT/JFACE/RCdP (0)
- Unix (1)
- Maven (3)
- 第一段经历 (0)
- 第二段经历 (0)
- 第三段经历 (0)
- 第四段经历 (9)
- ide开发工具 (2)
- 浏览器兼容 (1)
- 技术的缺点总结 (1)
- 验证码 (1)
- 面试问题大全 (3)
- 第五段经历 (5)
- 趣味编程 (1)
最新评论
-
zhangwei8607:
哥,我来了
发表了这么多技术文章,为什么没人留言 -
aqqcat:
这个太骚了同志
proxy 的原理 -
dmwdmc:
...
9个球其中1个空心最多称2次得出空心球 -
kjmmlzq19851226:
9个球分三组为A、B、C,任意取其中两组进行第一次称重,两种情 ...
9个球其中1个空心最多称2次得出空心球 -
zhangwei8607:
:idea: 学习了
网银系统augcb申请信用卡ejb的应用
创建 VIEW
PL SQL的参数列表:
in:表示该参数不能被过程赋值(只能位于等号右边),只能由调用者在调用时输入值。
out:表示该参数只能被过程赋值(只能位于等号左边),调用者不用传递参数值。
in out:表示该类型既能被过程赋值也能被调用者传值。
默认情况下为in.
PL SQL 有四大内容。
1.Trigger
VIEW 不能删除内容,但是可以加Trigger,当它删除VIEW时候调用这个trigger,实现内部的删除。
自然还可以触发在任何行为上。
可以省略end 后面的名字。
2.Procedure 这里是删除一行数据
procedure的调用可以在pl/sql内部调用,也可以通过SQL>execute proc_del_tableA('oid123123');
3.function
4.package 主要是为了加快访问速度。
引用
CREATE VIEW VIEW_A AS SELECT a.id, a.age
FROM a
UNION ALL
SELECT a_WSP.id, a_WSP.age
FORM a_WSP
FROM a
UNION ALL
SELECT a_WSP.id, a_WSP.age
FORM a_WSP
PL SQL的参数列表:
in:表示该参数不能被过程赋值(只能位于等号右边),只能由调用者在调用时输入值。
out:表示该参数只能被过程赋值(只能位于等号左边),调用者不用传递参数值。
in out:表示该类型既能被过程赋值也能被调用者传值。
默认情况下为in.
PL SQL 有四大内容。
1.Trigger
VIEW 不能删除内容,但是可以加Trigger,当它删除VIEW时候调用这个trigger,实现内部的删除。
引用
create or replace TRIGGER trigger_del_viewa
instead of delete on VIEW_A
FOR EACH ROW
DECLARE
var1 tableA.id%TYPE;
resultset tableA%ROWTYPE;
var2 LONG;
countA NUMBER;
invalid_Exp EXCEPTION;
BEGIN
var1:=NULL;
resultset :=select......;
select count(*) into countA from tableA where tableA=resultset;
if countA=0 Then
raise invalid_Exp;
end if;
delete from tableA where tableA=resultset;
EXCEPTION
WHEN invalid_Exp then
Raise_application_error(-20003,'invalide_exp');
END trigger_del_viewa
instead of delete on VIEW_A
FOR EACH ROW
DECLARE
var1 tableA.id%TYPE;
resultset tableA%ROWTYPE;
var2 LONG;
countA NUMBER;
invalid_Exp EXCEPTION;
BEGIN
var1:=NULL;
resultset :=select......;
select count(*) into countA from tableA where tableA=resultset;
if countA=0 Then
raise invalid_Exp;
end if;
delete from tableA where tableA=resultset;
EXCEPTION
WHEN invalid_Exp then
Raise_application_error(-20003,'invalide_exp');
END trigger_del_viewa
自然还可以触发在任何行为上。
引用
create or replace trigger after_update_viewa AFTER INSERT OR UPDATE OR DELETE ON viewa
begin
proc_a('dd');--可以调用其它的procedure.
end;
begin
proc_a('dd');--可以调用其它的procedure.
end;
可以省略end 后面的名字。
2.Procedure 这里是删除一行数据
引用
create or replace procedure proc_del_tableA(oid IN tableB.oid%TYPE)
AS
countA number(1);
var1 LONG;
invalid_Exp;
BEGIN
select count(*) into countA from tableA where tableA.oid =oid;
if countA=0 then
raise invalid_Exp;
end if;
delete from tableA where tableA.oid=oid;
EXCEPTION
when invalid_Exp then
raise_application_error(-200001,'invalid argument');
END;
AS
countA number(1);
var1 LONG;
invalid_Exp;
BEGIN
select count(*) into countA from tableA where tableA.oid =oid;
if countA=0 then
raise invalid_Exp;
end if;
delete from tableA where tableA.oid=oid;
EXCEPTION
when invalid_Exp then
raise_application_error(-200001,'invalid argument');
END;
procedure的调用可以在pl/sql内部调用,也可以通过SQL>execute proc_del_tableA('oid123123');
3.function
引用
create or replace function fn_get_oid(oid in tableA.oid%type) return number
as
l_ret number(1);
begin
l_ret:=0;
if oid is not nll then
l_ret:=1;
end if;
return l_ret;
end;
as
l_ret number(1);
begin
l_ret:=0;
if oid is not nll then
l_ret:=1;
end if;
return l_ret;
end;
4.package 主要是为了加快访问速度。
引用
create or replace package packA as
procedure procA;
function fnB return varchar2;
end packA;
procedure procA;
function fnB return varchar2;
end packA;
发表评论
-
oracle 重设redo log 和倒入
2014-02-21 18:27 728重设redo log: alter system set &q ... -
weblogic 整合hibernate valildation 2个问题的解决
2013-09-23 21:23 17561.java.lang.AbstractMethodError ... -
weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB incompatible with oracle.sql.CLOB 解决方
2013-09-23 16:02 1429Object ocontent = resMap.get(& ... -
mybatis 完美内嵌循环多参数传递
2013-09-05 14:05 1626column="{disp_pri_order = ... -
mybatis 调用存在过程
2013-08-21 13:40 1006mybatis 调用存在过程{ call proc_savea ... -
spring mybatis 事务问题解决
2013-08-10 21:00 383好几天的困惑,这个问题终于解决。 以下这行是控制spring ... -
mybatis打印sql
2013-07-31 18:55 596用log4j在控制台输出,在web.xml中配置log4j.p ... -
exist union 运用求大中小级联
2013-07-31 11:33 603所有item表中,大,中,小item. 其中大的item是W0 ... -
oracle有哪些常用的系统表
2013-07-23 15:05 1091dba_开头..... dba_users 数据库用户信 ... -
hibernate 5 大接口和实例
2013-06-18 21:07 815Hibernate的核心接口一共有5个,分别为:Session ... -
【转载】hiberate save, saveorupate等各种方法状态解释
2013-06-18 21:06 770http://www.blogjava.net/TiGERT ... -
[转载]hibernate的乐观锁
2013-06-18 08:35 656http://esffor.iteye.com/blog/ ... -
jdbc取blob读出实例
2013-06-04 10:00 862import java.io.BufferedInputStr ... -
oracle 内置函数:search DB blob 字段显示出来
2013-06-03 17:38 1006select utl_raw.cast_to_varchar2 ... -
oracle 同义词
2013-06-02 19:52 748相当于alias(别名),比如把user1.table1在us ... -
一次性插入多条数据的insert
2013-06-02 19:24 1118INSERT INTO 正式表 (CPU,PRICE) SEL ... -
select 结构执行顺序
2013-06-02 19:13 878(8)SELECT(9)DISTINCT(11) ( 1 ... -
查询语句(SELECT)的优化
2013-06-02 19:11 801首先要注意建立索引。 create index abindex ... -
postgresql 安装步骤
2010-04-14 10:59 1523postgresql 安装步骤: sudo apt-get i ... -
Oracle的一些知识
2010-04-14 10:57 1216导入数据到oracle 首先询问对方数据库的表空间名称和大小, ...
相关推荐
根据提供的文件信息,我们可以深入探讨Pl/SQL语法及其在Oracle数据库中的应用。下面将详细介绍文件中提到的关键知识点。 ### 1. Oracle系统用户 #### 1.1 系统管理员 - **syschange_on_install**: 这是Oracle安装...
本压缩包"PL/SQL语法帮助"是专为初学者设计的指南,包含Sqlhelp.hlp和Plshelp.hlp两个帮助文件,旨在帮助新手快速掌握PL/SQL的基本概念和用法。 首先,让我们深入了解一下PL/SQL的主要组成部分: 1. **声明部分**...
手册分为两大部分,分别对SQL语法和PL/SQL语法进行了详细讲解。 第一部分,SQL语法部分,主要涉及以下关键语句和概念: 1. **CREATE TABLE** 语句:用于创建数据库中的表,定义了表的结构,包括列名、数据类型、...
总之,Notepad++是一款强大且灵活的编辑器,尤其在处理PL/SQL语法时表现出色。其丰富的特性、高效的性能和可扩展性使其在IT专业人士中备受青睐。通过安装和配置合适的插件,Notepad++可以成为一个全面的开发环境,...
本教程将全面解析PL/SQL的语法和应用,是学习者掌握这一技能的宝贵资料。 一、PL/SQL基本结构 PL/SQL由声明部分、执行部分和异常处理部分组成。声明部分包括变量、常量、游标、记录等的定义;执行部分包含SQL语句和...
**PL/SQL语法说明** PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库中的一个编程语言,它结合了SQL的查询能力与传统编程语言的控制结构,用于编写存储过程、函数、触发器等数据库对象...
PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...
PL/SQL语法介绍(例子为主,详细注释),过程十分详细。 PL/SQL语法介绍(例子为主,详细注释),过程十分详细。
1. **代码编辑器**:PL/SQL Developer提供了一个功能丰富的代码编辑器,支持语法高亮、自动完成、错误检测、代码折叠和多文档界面。这些特性极大地简化了代码编写和维护的过程。 2. **调试工具**:内置的调试器允许...
**4.2 PL/SQL语法** 4.2.1 PL/SQL块是构成PL/SQL程序的基本单元,由声明、执行和异常处理三个部分组成: - 声明部分(DECLARE):声明变量和常量及其数据类型。 - 执行部分(BEGIN...END):包含实际的执行语句。 - ...
《精通PL/SQL》这本书是针对Oracle数据库系统中PL/SQL编程语言的深度解析与实践指南,...Oracle 10g版本虽然已相对较旧,但其核心的PL/SQL语法和编程原则在后续版本中依然适用,因此该书的知识仍然具有很高的参考价值。
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
它详细阐述了PL/SQL语法、编程最佳实践以及如何充分利用开发环境的各项功能。通过阅读此指南,开发者可以了解如何创建高效的PL/SQL代码,避免常见陷阱,并掌握高级特性的应用。 四、文件“PLSQLDev7.0.pdf” 这个...
1. **代码编辑器**:提供语法高亮、自动完成和错误检查,使得编写PL/SQL代码更加便捷。 2. **数据库连接**:支持多种Oracle数据库版本的连接,无需复杂的配置步骤,只需输入必要的连接信息。 3. **对象浏览器**:...
9. **PL/SQL语法和最佳实践** 中文指南会详细讲解PL/SQL语言的基础语法,包括声明变量、流程控制、异常处理等,并介绍编写高效、可维护的PL/SQL代码的最佳实践。 10. **学习资源** 使用PL/SQL Developer中文指南...
循环语句是PL/SQL编程中用来重复执行一组语句的结构,包括loop、while、for三种形式,它们各自有不同的使用场景和语法。 分支条件语句在PL/SQL中用来根据不同的条件执行不同的代码分支,主要包括CASE表达式和if-...
在"student"数据库模式中,我们可能会用到以下PL/SQL语法: 1. **DDL(Data Definition Language)**:用于创建和修改数据库对象,如表、视图、索引等。例如,创建"students"表的SQL语句可能是这样的: ```sql ...
### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...
1. **PL/SQL编程支持**:PL/SQL Developer内置了强大的PL/SQL编辑器,支持语法高亮、自动完成、错误检查等功能,使开发人员能够高效编写PL/SQL代码。此外,还具备代码折叠、查找替换、书签设置等实用功能,提高了...
这篇博客主要探讨了PL/SQL的基础知识,包括其语法特性、使用场景以及在数据库管理中的重要性。 首先,PL/SQL是一种过程化语言,它允许用户定义变量、控制流程(如循环、条件语句)、处理异常,并且可以嵌入SQL查询...