`

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 行触发器和其它类型的触发器中。



分享到:
评论

相关推荐

    PLSQL14_32位

    7. **版本差异**:虽然没有详细说明PLSQL Developer 14相对于其他版本的具体改进,通常每个新版本都会修复一些bug,增强性能,并引入新的特性和优化。 8. **许可证**:使用PLSQL Developer时,要确认你拥有合法的...

    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程序设计,内容详尽,适合初学者,步骤详细,是一份难能可贵的资料,我找了很久的,现在共享给大家

    plsql12 X64中文版

    8. **Chinese.rar**:这可能包含的是中文语言相关的资源文件,如帮助文档、本地化文本等,用户解压后可以补充到软件中。 使用PLSQL Developer,你可以进行以下数据库开发活动: - **编写和调试PL/SQL代码**:包括...

    PLSQL显示乱码、导出问题的解决方法

    在进行Oracle数据库数据导入操作时,可能会遇到一些常见的错误,比如导入过程中的性能问题或者特定选项配置不当等问题。 ##### 导入时出现错误示例 在服务器172.16.0.12上执行导入命令时,出现错误提示,经过排查...

    PLSQL Language

    此外,还特别提醒美国政府用户,在使用软件或文档时需要遵守相应的联邦采购法规和机构特定的补充法规。 文档还声明了该软件或硬件是为一般信息管理应用开发的,并非为美国政府的特定用途开发或意图使用的。这一点对...

    plsql-plugin.rar

    2. 代码模板:预设了一些常用的PL/SQL代码片段,如循环、条件判断等,只需通过快捷键或菜单选择即可插入到当前编辑位置。 3. 快速导航:通过插件可以快速跳转到声明、函数定义或表结构等,方便代码阅读和调试。 4. ...

    plsqldeveloper全版本 32bit / 64bit plugins PLSQL工具的插件,支持32bit与64bit

    综上所述,“PL/SQL Developer 32bit / 64bit plugins”是一系列针对Oracle数据库开发环境的重要补充。这些插件不仅能够满足不同操作系统的使用需求,还具备高度的可定制性和灵活性,极大地方便了开发者的日常工作。...

    CnPluginv1.5 PLSQL插件

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

    oracle客户端(PLSQL developer)

    PL/SQL Developer作为Oracle客户端的一个补充,它专为PL/SQL编程而设计。PL/SQL是Oracle数据库中的过程化语言,结合了SQL的强大查询功能和高级程序设计语言的特性。在PL/SQL Developer中,用户可以享受到以下主要...

    plsql 官方文档

    文档的发布日期是2003年12月,作者包括John Russell以及其他一些贡献者。文档中明确指出,该文档受版权法、专利法和其他知识产权法的保护,禁止未经授权的逆向工程、拆解或反编译程序,除非是为了与独立开发的软件...

    Oracle Plsql By Example 4Th-代码示例-11g.rar

    `0137144229_Appendix_D(1).pdf`和`0137144229_Appendix_D.pdf`可能是书中的附录,通常包含补充资料或索引,对于深入学习和查找信息很有帮助。 通过学习《Oracle PL/SQL by Example 4th Edition》并实践其中的代码...

    5.1 PLSQL创建表空间-关联用户-DMP文件导入 1

    - **补充说明**: - 如果安装在Unix/Linux上,在shell中使用`imp`命令。 - 如果安装在Windows上,在CMD窗口中使用`imp`命令。 - 如果要导入所有表,不需要指定`tables`参数。 通过上述步骤,我们可以有效地管理...

    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开发指南(中文)

    - **紧密的SQL集成**: 作为SQL的强大补充,与SQL紧密结合。 - **内置语言**: 是Oracle数据库产品的内置语言,而非独立存在。 - **高性能**: 具备优秀的执行性能。 - **SQL与PL/SQL的分离**: PL/SQL引擎能够自动...

    PLSQL教程.doc

    ### PL/SQL教程详解 ...综上所述,PL/SQL不仅是Oracle数据库的强大补充,更是构建复杂数据库应用的基石,通过其过程化特性、数据类型支持、可存储性及网络效率优势,极大地提升了数据库应用程序的性能和可维护性。

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

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

    Oracle PLSQL实例精解(原书第4版) 源码下载

    《Oracle PLSQL实例精解(原书第4版)》是一本深入探讨Oracle数据库编程语言PL/SQL的专业书籍。此书旨在帮助读者掌握PL/SQL的精髓,通过丰富的实例和详细解析,提升在Oracle数据库环境中的开发能力。作者在书中不仅...

Global site tag (gtag.js) - Google Analytics