重新建立会话
符合规则
4。与开发相关的系统包:
DBMS_SQL
(1)能过生成动态的 SQL 语句;
(2)能过执行 DDL 语句;
包使用的主要步骤:
OPEN_DURSOR
PARSE
BIND_VARIABLE
EXECUTE
FETCH_ROWS
CLOSE_CURSOR
EXECUTE IMMEDIATE
EXECUTE IMMEDIATE dynamic_string
'INTO {define_variable
'; define_variable' 。。。 | record}'
'USING 'IN|OUT|IN OUT' bind_argument
'; 'IN|OUT|IN OUT' bind_argument' 。。。 ';
DBMS_DDL
ALTER_PILE(object_type;owner;object_name);强制编辑
DBMS_JOB
设置用户的任务;
在某个指定的时刻执行一定的操作;
手动强制执行;
挂起任务;
提交
删除
修改
要执行什么,可以跟语句或过程
下一次的执行时间
任务执行的时间间隔
挂起
手动强制执行
查看:
USER_JOBS;
DBMS_OUTPUT
PUT 输出多行数据
NEW_LINE 起一个新行
PUT_LINE 输出一行数据
GET_LINE 得到一行信息
GET_LINES 得到多行信息
UTL_FILE
对操作系统文件进行操作;
第 93 页,共 106 页
…………………………………………………………Page 94……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
DBMS_LOB
对 LOB 对象的读和写
UTL_HTTP
可以把指定的网页的内容摘取下来
静态的 SQL语句的执行过程:
分析 PARSE
绑定 BIND
执行 EXECUTE
取操作 FETCH
用户可以通过 DML 语句对 LONG 类型的数据可以直接访问;
7、触发器
触发器:
不能直接调用,必须得事件触发,一般情况下是与对象、数据库和方案有关。
1。 数据库触发器
2。 应用触发器
当一个操作与另一个操作有密切关系的时候;
触发器不要太大,如果代码量大,要把触发器放到一个可执行的存储过程中;
不要在一个对象上建立太多的触发器;
3。 表触发器
BEFORE 做数据校验
AFTER 在操作以后对操作和数据进行记录
4。 视图触发器
INSTEAD OF 对视图的操作替换成对视图的基表的操作
5。 行级触发器
对多行的操作,每操作一行都会触发触发器。
6。 语句级触发器
当一条语句执行的时候触发,执行一次触发一次,与操作的行数无关。
WHEN CLAUSE 触发器执行条件
1。语句级:
CREATE 'OR REPLACE' TRIGGER trigger_name
timing(before/after)
event1 'or event2 or event3' ON table_name
trigger_body
在同一个方案下不允许重名。
CREATE OR REPLACE TRIGGER secure_emp
BEFORE INSERT OR UPDATE OR DELETE ON employees
BEGIN
IF (TO_CHAR (SYSDATE; "HH24") NOT BETWEEN "08" AND "12") AND DELETING
THEN
RAISE_APPLICATION_ERROR (…20502;"You may delete from EMPLOYEES table
only during business hours。");
第 94 页,共 106 页
…………………………………………………………Page 95……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
ELSIF (TO_CHAR (SYSDATE; "HH24") NOT BETWEEN "12" AND "18") AND INSERTING THEN
RAISE_APPLICATION_ERROR (…20500;"You may insert into
EMPLOYEES table only during business hours。");
ELSIF (TO_CHAR (SYSDATE; "HH24") NOT BETWEEN "8" AND "18") AND UPDATING ("SALARY")
THEN
RAISE_APPLICATION_ERROR (…20503;"You may update
SALARY only during business hours。");
ELSE
RAISE_APPLICATION_ERROR (…20504;"You may update
EMPLOYEES table only during normal hours。");
END IF;
END;
2。行级触发器:
CREATE 'OR REPLACE' TRIGGER trigger_name
timing
event1 'OR event2 OR event3'
ON table_name
'REFERENCING OLD AS old / NEW AS new'
FOR EACH ROW
'WHEN (condition)' //执行条件
trigger_body
:OLD。字段名/:NEW。字段名 引用格式。
例:
CREATE OR REPLACE TRIGGER restrict_salary
BEFORE INSERT OR 'UPDATE OF' salary ON employees
FOR EACH ROW
WHEN (new。salary is not null) //在出发器头里,new。salary 相当与本身的变量
BEGIN
IF :NEW。salary》2*:old。salary //在TRIGGER_BODY 里,:NEW。salary 相当与一个绑
定变量
or :NEW。salary
小说推荐
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 其他
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- VC语言6.0程序设计从入门到精通
- -Page 1-Visual C 6.0 程序设计从入门到精通求是科技 王正军 编著
- 其他
- 最新章:第136章
- SQL 21日自学通(V3.0)(PDF格式)
- -Page 1-SQL 21 日自学通(V1.0 翻译人 笨猪目录目录 1译者的话 14第一周概貌 16从这里开始 16
- 其他
- 最新章:第170章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 其他
- 最新章:第309章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 其他
- 最新章:第27章
- JSP入门教程(DOC格式)
- -Page 1-jsp 入门教程0.0.1版权(c 2008 叮咚老菜鸟叮咚对文档的任何问题或建议,请给叮咚发邮件或留言。QQ:475784337QQ 群:51239192MSN:lingirl6@hotmail.EMAIL:lingirl6@hotmail.2008-02-28 20:05:061
- 其他
- 最新章:第37章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章