`

PL/SQL 语法

SQL 
阅读更多
创建 VIEW
引用
CREATE VIEW VIEW_A AS SELECT a.id, a.age
  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


自然还可以触发在任何行为上。
引用
create or replace trigger after_update_viewa AFTER INSERT OR UPDATE OR DELETE ON viewa
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;


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;



4.package 主要是为了加快访问速度。
引用
create or replace package packA as
      procedure procA;
      function fnB return varchar2;

end packA;
分享到:
评论

相关推荐

    Pl/SQL语法大全

    根据提供的文件信息,我们可以深入探讨Pl/SQL语法及其在Oracle数据库中的应用。下面将详细介绍文件中提到的关键知识点。 ### 1. Oracle系统用户 #### 1.1 系统管理员 - **syschange_on_install**: 这是Oracle安装...

    PL/SQL语法帮助

    本压缩包"PL/SQL语法帮助"是专为初学者设计的指南,包含Sqlhelp.hlp和Plshelp.hlp两个帮助文件,旨在帮助新手快速掌握PL/SQL的基本概念和用法。 首先,让我们深入了解一下PL/SQL的主要组成部分: 1. **声明部分**...

    PL/SQL 语法手册

    手册分为两大部分,分别对SQL语法和PL/SQL语法进行了详细讲解。 第一部分,SQL语法部分,主要涉及以下关键语句和概念: 1. **CREATE TABLE** 语句:用于创建数据库中的表,定义了表的结构,包括列名、数据类型、...

    notepad++(含pl/sql语法)

    总之,Notepad++是一款强大且灵活的编辑器,尤其在处理PL/SQL语法时表现出色。其丰富的特性、高效的性能和可扩展性使其在IT专业人士中备受青睐。通过安装和配置合适的插件,Notepad++可以成为一个全面的开发环境,...

    pl/sql语法详解

    本教程将全面解析PL/SQL的语法和应用,是学习者掌握这一技能的宝贵资料。 一、PL/SQL基本结构 PL/SQL由声明部分、执行部分和异常处理部分组成。声明部分包括变量、常量、游标、记录等的定义;执行部分包含SQL语句和...

    pl/sql语法说明

    **PL/SQL语法说明** PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库中的一个编程语言,它结合了SQL的查询能力与传统编程语言的控制结构,用于编写存储过程、函数、触发器等数据库对象...

    pl/sql最新中文手册

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...

    PL/SQL语法介绍(例子为主,详细注释)

    PL/SQL语法介绍(例子为主,详细注释),过程十分详细。 PL/SQL语法介绍(例子为主,详细注释),过程十分详细。

    pl/sql developer11.0

    1. **代码编辑器**:PL/SQL Developer提供了一个功能丰富的代码编辑器,支持语法高亮、自动完成、错误检测、代码折叠和多文档界面。这些特性极大地简化了代码编写和维护的过程。 2. **调试工具**:内置的调试器允许...

    PL/SQL编程(电子版)

    **4.2 PL/SQL语法** 4.2.1 PL/SQL块是构成PL/SQL程序的基本单元,由声明、执行和异常处理三个部分组成: - 声明部分(DECLARE):声明变量和常量及其数据类型。 - 执行部分(BEGIN...END):包含实际的执行语句。 - ...

    精通pl/sql

    《精通PL/SQL》这本书是针对Oracle数据库系统中PL/SQL编程语言的深度解析与实践指南,...Oracle 10g版本虽然已相对较旧,但其核心的PL/SQL语法和编程原则在后续版本中依然适用,因此该书的知识仍然具有很高的参考价值。

    Oracle PL/SQL实战(待续)

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...

    PL/SQL Developer 7.0

    它详细阐述了PL/SQL语法、编程最佳实践以及如何充分利用开发环境的各项功能。通过阅读此指南,开发者可以了解如何创建高效的PL/SQL代码,避免常见陷阱,并掌握高级特性的应用。 四、文件“PLSQLDev7.0.pdf” 这个...

    pl/sql64位

    1. **代码编辑器**:提供语法高亮、自动完成和错误检查,使得编写PL/SQL代码更加便捷。 2. **数据库连接**:支持多种Oracle数据库版本的连接,无需复杂的配置步骤,只需输入必要的连接信息。 3. **对象浏览器**:...

    pl/sql developer 中文指南

    9. **PL/SQL语法和最佳实践** 中文指南会详细讲解PL/SQL语言的基础语法,包括声明变量、流程控制、异常处理等,并介绍编写高效、可维护的PL/SQL代码的最佳实践。 10. **学习资源** 使用PL/SQL Developer中文指南...

    ORACLE PL/SQL从入门到精通

    循环语句是PL/SQL编程中用来重复执行一组语句的结构,包括loop、while、for三种形式,它们各自有不同的使用场景和语法。 分支条件语句在PL/SQL中用来根据不同的条件执行不同的代码分支,主要包括CASE表达式和if-...

    oracle pl/sql实例精讲student数据库模式数据和表脚本

    在"student"数据库模式中,我们可能会用到以下PL/SQL语法: 1. **DDL(Data Definition Language)**:用于创建和修改数据库对象,如表、视图、索引等。例如,创建"students"表的SQL语句可能是这样的: ```sql ...

    Oracle PL/SQL程序设计(第5版)(上下册)

    ### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...

    pl/sql 免安装,绿色版pl/sql

    1. **PL/SQL编程支持**:PL/SQL Developer内置了强大的PL/SQL编辑器,支持语法高亮、自动完成、错误检查等功能,使开发人员能够高效编写PL/SQL代码。此外,还具备代码折叠、查找替换、书签设置等实用功能,提高了...

    PL/SQL 基本知识

    这篇博客主要探讨了PL/SQL的基础知识,包括其语法特性、使用场景以及在数据库管理中的重要性。 首先,PL/SQL是一种过程化语言,它允许用户定义变量、控制流程(如循环、条件语句)、处理异常,并且可以嵌入SQL查询...

Global site tag (gtag.js) - Google Analytics