a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 90|回复: 0

[考试辅导] Oracle技术:快速入门合格的OracleDBA的方法

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
单表建树的相关视图在现实的操作中,可以对其进行增、删与改。Oracle数据库多表建树的视图是不能直接进行视图添加等更新。今天和巨匠分享的是Oracle多表建树的视图insert的现实操作,   解决法子:替代触发器。说道这,巨匠可能就都知道怎么做了。
2 M+ \# T9 N2 ~; I8 X1 u2 i  create or replace trigger 名称
, {6 ^$ s8 X: d, P% A7 t- v/ I6 L  1.Instead Of Insert or update or delete) J* x: r; [4 |6 x$ i1 _: ~; z) g
  on 视图/ m. j7 O; ~0 h" w
  1.for each row8 p2 v  G6 v7 F% Q7 N& E
  2.Declare, R) g6 X1 t1 f0 _
  3.begin
2 V' t. T7 \9 F* v- O  R0 G2 @  4.If Inserting Then! T" }8 m2 N: f. f% Y
  Insert Into 根基表1 (t11,t12) Values (:New.f1,:New.f2);8 z$ ^4 r( _5 X! _5 L% j& n9 A
  Insert Into 根基表2 (t11,t22) Values (:New.f1,:New.f3);
' i+ m5 N. E" W9 @, K- D+ T  1.elsif Updating Then
0 g/ Q9 _, S" s9 q  Update 根基表1 set t11=:New.f1,t12=:New.f2 where t11=:New.f1;
4 C3 q! _$ Y8 i1 ?- y  Update 根基表2 set t11=:New.f1,t22=:New.f3 where t11=:New.f1;
8 Y, D9 N, I& `: Y  1.elsif Deleting then
: \2 A1 R0 K- e7 K  Delete from 根基表1 where t11=:Old.f1;( C& Z+ E9 Z9 O1 v
  Delete from 根基表2 where t11=:Old.f1;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 22:40 , Processed in 0.149529 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表