摘要:
(转自:http://blog.itpub.net/26622598/viewspace-718134)一、什么是动态SQL大多数PL/SQL都做着一件特殊的结果可预知的工作。例如,一个存储过程可能接受一个雇员的编号和他的提薪金额,然后更新表emp中的信息。在这种情况下,UPDATE的全部文本内容在编译期就完全确定下来,这样的语句不会随着程序的执行而发生变化。所以,称它们为静态SQL语句。但是,有些程序只能是在运行时建立并处理不同的SQL语句。例如,一般用途的报告打印就可能会根据用户的选择内容不同,而使我们的SELECT内容也随之变化,然后打印出相应的数据来。这样的语句在编译期是无法确定它的内 阅读全文
摘要:
(转自:http://blog.csdn.net/bbliutao/article/details/9016947)一、概述包可将一些有联系的对象放在其内部。任何能在块定义部分出现的对象都可以在包中出现。这些对象包括存储过程、函数、游标、自定义的类型和变量。我们可以在其它的PLSQL块中引用包中的这些对象,也就是说,包为PLSQL提供了全局变量。包可以实现信息屏蔽和子程序重载。二、包的定义一个包由两个独立部分组成——包头和包体,各部分被单独存放在数据字典中,定义一个包,要分别定义包头和包体。1、定义包头(1)、语法:create or replace package [schema.] pac 阅读全文
摘要:
一般存储过程的格式create or replace procedure 存储过程名(param1 in type,param2 out type)as变量1 类型(值范围);变量2 类型(值范围);Begin 语句块Exception --异常处理 When others then Rollback;End;在SQL输入界面输入需需要创建的存储过程,create or replace procedure sp_demo(param1 in varchar2,param2 out varchar2)/** 存储过程实例*/ascnt int;rst varchar2(100)Begin S.. 阅读全文