`

plsql一些补充

阅读更多

704
一些补充

1、存储过程的参数
  in:输入参数,用于向过程传入一个值
      实际参数可以是一个具体的值或一个有值的变量
  out:输出参数,用于从被调用的过程中返回一个值
       实际参数必须是一个变量
  in out:用于向过程传入一个初始值,返回更新后的值
          实际参数必须是一个预先已经赋值的变量



2、游标
    -- 定义一个不带参数的游标emp_cur1  
   cursor emp_cur1 is select * from employee;   
   -- 定义一个带参数的游标emp_cur2
   cursor emp_cur2 (empno_in in number) is select name,hiredate from employee where empno =     empno_in;   
   -- 定义一个带有return 子句的游标   
   cursor emp_cur3 return employee%rowtype is select * from employee where empno = 1;

  想通过游标更新数据,必须在select语句后加上for update,则select的所有行都被锁定
  for update of 列名  则该列被锁定,不影响其他列修改
  nowait 

  where current of 游标名
  指向游标当前指向的行  

  -1.具有返回类型的,称为有约束的游标或者强游标
    type type_name is ref cursor return return_type;
  -2.没有返回类型的,称为无约束的游标或者弱游标
    type type_name is ref cursor


3、例外处理
  --预定义异常
    no_data_found  too_many_rows
  --非预定义异常
    pragma exception_init(<exception_name>,<handle_code>)
    将一个Oracle错误编号与异常名建立起来
  --用户自定义异常
    raise
  --RAISE_APPLICATION_ERROR
    将应用程序专有的错误从服务器端转达到客户端应用程序
    RAISE_APPLICATION_ERROR (error_number_in IN NUMBER, error_msg_in IN VARCHAR2); 
    error_number_in 之容许从 -20000 到 -20999 之间,这样就不会与 ORACLE 的任何错误代码发生冲突      error_msg_in 的长度不能超过 2K,否则截取 2K。

  --内置函数 SQLCODE SQLERRM
   返回Oracle的错误代码和错误消息。


4、执行动态SQL
  EXECUTE IMMEDIATE 'delete from '||p_table_name;


5、触发器

--语句级(STATEMENT)触发器:是指当某触发事件发生时,该触发器只执行一次;

--行级(ROW)触发器:是指当某触发事件发生时,对受到该操作影响的每一行数据,触发器都单独执行一次。
  for  each  row

--old new
 
                insert         update           delete
  :NEW         null            实际值           实际值
  :OLD        实际值           实际值            null

REFERENCING 子句说明相关名称,在行触发器的PL/SQL块和WHEN 子句中可以使用相关名称参照当前的新、旧列值,默认的相关名称分别为OLD和NEW。触发器的PL/SQL块中应用相关名称时,必须在它们之前加冒号(:),但在WHEN子句中则不能加冒号。

WHEN 子句说明触发约束条件。Condition 为一个逻辑表达时,其中必须包含相关名称,而不能包含查询语句,也不能调用PL/SQL 函数。WHEN 子句指定的触发约束条件只能用在BEFORE 和AFTER 行触发器中,不能用在INSTEAD OF 行触发器和其它类型的触发器中。



分享到:
评论

相关推荐

    plsql sql语句自动补全

    plsql中 sql 语句自动补全 如 只输入s 即可自动补全为 select * from 使用方法 下载该文件 并在plsql中 选择 tools-perferences-edit-autoreplaces 点击浏览 选择该文件

    PLSQL/oracle 数据库管理工具

    一. 目录结构 D:\install\PLSQL |-- instantclient_11_2 |-- tnsnames.ora |-- PLSQL Developer |-- readme.txt ... 补充 tnsnames.ora 文件需要手动创建并进行相应的设置, 参考网上教程.

    ORACLE数据库的PLSQL程序设计

    oracle数据库系统的好工具,plsql程序设计,内容详尽,适合初学者,步骤详细,是一份难能可贵的资料,我找了很久的,现在共享给大家

    plsql-plugin.rar

    pl/sql代码自动补充插件CnPlugin,可以在plsql中实现快捷键的自动代码填充

    Oracle_PLSQL培训文档

    要学Oracle_PLSQL,这个文档很好!自己正在学习中!跟大家一起分享!补充一下:这里面的是基础内容!我自己正在学习的也是基础!

    CnPluginv1.5 PLSQL插件

    CnPluginv1.5 PLSQL插件实现快速补充

    ORACLE SQL PLSQL

    1-1 pl/sql可以做的工作: 1. 用pl/sql的存储过程...6.plsql是sql的有力补充,与sql之间的联系紧密,整合性强。 7.plsql是oracle数据库产品的内置语言,不是一个孤立的语言。 8.是一种高性能的语言。 9.pl/sql运行过程

    oracle精简客户端-免安装-快速配置plsql等连接_补充-不要下载看描述

    CSDN对上传资源无法修改 在精简客户端中,环境变量还应添加 NLS_LANG --&gt; SIMPLIFIED CHINESE_CHINA.ZHS16GBK ( 防止乱码 )

    手把手教你搭建PLSQL快速连接oracle数据库

    一. 目录结构 二. 环境变量 三. PL/SQL Developer 环境设置 四. 补充

    pl/sql developer 插件

    主要用于补充开发工具在DBA管理方面的一些工作。

    Oracle P/L SQL实现发送Email、浏览网页等网络操作功能

    Oracle P/L SQL实现发送Email、浏览网页等网络操作功能 Oracle P/L SQL实现发送Email、浏览网页等网络操作功能,以下是此过程包的头部,包体经常打包处理plb,感兴趣用户可以下载下来。 --....Drop Type Strcat_type;...

    opal-tools:灵活的安装程序,用于将Oracle PLSQL和APEX代码安装到不同的环境中。 灵活的导出程序对它进行了补充,可以将Oracle对象假脱机到文件系统中

    什么是OPAL工具? 问题 您是否有办法将Oracle代码更改(PL / SQL,APEX,ORDS)从开发环境移至测试和生产? 还是您对现有的设备不满意,在安装过程中出错,错过未部署的更改或不知道何时将更改部署到哪个环境?...

    SQLProgress 1.01.39 for Oracle 正式版

    Oracle数据库的操作工具,类似于Toad,PLSQL等,可以作为他们的补充。

    浅谈入门级oracle数据库数据导入导出步骤

    1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问题,同时效率更高,但特别注意:...

    oracle分析函数学习

    1)Oracle开发专题99%收集自: ...2) PLSQL开发笔记和小结收集自http://www.blogjava.net/cheneyfree/ 3)分析函数简述收集自http://space.itpub.net/7607759/ 昆明小虫http://ynlxc.cnblogs.com/ 收集,并补充了一点点1%

    BOS 技术整理

    工具补充: Navicat Premium 安装和使用 直接安装 ok jquery easyui 总合 (直接看API文档 后期加上如何使用) Orcale 创建用户 先进入 Orcale 命令行 针对 BOS 系统建立新的用户 创建 bos/bos ...

    ORACLE常见问题.rar

    oracle学习资料,适合初中级入门级别的学习内容,或者补充了解相关知识

    2010版 - PL SQL 面试题

    对 Oracle Pl/SQl 的面试题目, 是DBA考试用的,这些类型得分题目在每次的面试中基本上都会碰到。所以这里重新整理,并补充最新的题目,和大家分享哦~~~~~

    PL/SQL 基础.doc

    PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/...... 2) ODBC 3) OCI: C语言和数据库打交道的方法,和Pro*C很相似,更底层,很少...

    Oracle 10g 学习笔记

    │ plsql.sql │ ├─12 索引 │ index.sql │ ├─13 游标 │ cursor.sql │ ├─14 存储过程 │ procedure.sql │ ├─15 函数 │ function.sql │ ├─16 触发器 │ trigger.sql │ ├─17 设计范式 │ ...

Global site tag (gtag.js) - Google Analytics