1. 程式人生 > >Oracle 跨使用者表間資料操作(觸發器實現)

Oracle 跨使用者表間資料操作(觸發器實現)

需求:

     使用者hfxcroad中有一個表P_TABLE,建立表語句如下:

    create table P_TABLE
    (
        ID varchar2(50) default SYS_GUID(),
        NC varchar2(50)
    );

    使用者fdfxkh中有一個表P_TABLE,建立語句如下:

   create table P_TABLE
   (
       ID varchar2(50) default SYS_GUID(),
       NC varchar2(50),
       V numeric(4)
   );

   當我們在使用者fdfxkh的P_TABLE中插入資料,並且V欄位值大於15時,向用戶hfxcroad的P_TABLE表中插入NC值,模擬由實時資料表產生預警資訊表,我們該怎麼做?

解決方案:

1、由於是跨使用者操作資料,所以第一步我們要將使用者hfxcroad中的表P_TABLE的許可權授權給fdfxkh使用者。

     在使用者hfxcroad下執行以下授權SQL:

    GRANT ALTER ON  hfxcroad.P_TABLE TO fdfxkh;

    GRANT DELETE ON  hfxcroad.P_TABLE TO fdfxkh;

    GRANT INDEX ON  hfxcroad.P_TABLE TO fdfxkh;

    GRANT INSERT ON  hfxcroad.P_TABLE TO fdfxkh;

    GRANT REFERENCES ON  hfxcroad.P_TABLE TO fdfxkh;

    GRANT SELECT ON   hfxcroad.P_TABLE TO fdfxkh;

    GRANT UPDATE ON   hfxcroad.P_TABLE TO fdfxkh;

2、在使用者fdfxkh中建立after插入觸發器,如下:

    create or replace trigger tr_Warn
    after insert on fdfxkh.P_TABLE
    for each row
    begin
          if :new.V > 15 then
              insert into hfxcroad.P_TABLE(NC) values(:new.NC);
         end if;
    end;

3、在使用者fdfxkh中執行插入語句:

    insert into P_TABLE(NC,V) values('20141203',25);

   

4、到使用者hfxcroad中執行查詢語句:

    select * from P_TABLE;

   會看到剛才滿足條件後的記錄。




相關推薦

Oracle 使用者資料操作觸發器實現

需求:     使用者hfxcroad中有一個表P_TABLE,建立表語句如下:    create table P_TABLE    (        ID varchar2(50) default

單鏈,迴圈連結串列,雙鏈及其基本操作C++實現

    最近在學習嚴蔚敏教授的《資料結構》,有一些感想,在這裡寫下來,留做筆記,希望能對以後學習有所幫助。     我們知道,線性表就是n個數據元素的有限序列,它有兩種實現方式,其一為順序表,即陣列+偽指標的方式實現,另一為連結串列,採用的是指標的方式實現。由於順序表的知識

的基本操作小測試

cout 刪除節點 truct out 位置 malloc while 基本 eof 創建鏈表結構 typedef struct Node{ int data; Node *pNext;}NodeList; 初始化鏈表節點 Node *InitNode(Node*pNode

資料結構之連結串列操作c++實現

1、單向連結串列(頭結點不含資料,不佔長度),C++實現: #include <iostream> #include <stack> using namespace std; /*****定義節點****/ typedef struct node{ int va

sql sever 資料修改含判斷

舉例: 1、修改時間,將時間的時分改為0 2、判斷時間是上午下午 程式碼 UPDATE PA_Visit_Info SET Visit_Date = STUFF(CONVERT(VARCHAR(23),Visit_Date,120), 12, 5, '00:00'), Date_APM =

單鏈的基本操作C語言//以整型為例

        單鏈表與陣列相似,但是單鏈表堆記憶體的運用更加的方便,能夠充分的利用零散的記憶體,在中間新增或者刪除一個或多個元素時不需要像陣列一樣移動大量的元素。單鏈表的操作中,涉及到單鏈表元素變化的許耀中指向指標的指標操作。        下面是單鏈表的兩種建立方式以及其

順序基本操作c實現

順序表就是以陣列形式儲存的線性表,本文將在PTA上做過的題的程式碼copy下來,供以參考,詳解見註釋 //庫函式標頭檔案包含 #include<stdio.h> #include<malloc.h> #include<stdlib.h>

對單鏈的一些操作待補充

改變 let 反轉 clas 循環 nbsp () data pri 所有的數據和結點的定義都用簡單的數據類型而不是用模板,重在解決問題的思想和寫代碼能力。 結點定義如下: 1 struct Node 2 { 3 int data; 4 struct Node

第一次寫博客——單鏈的基本操作未完成

type 單鏈表 刪除 元素 stdlib.h i++ 節點 lis init #include<stdio.h>#include<stdlib.h>#include<string>typedef int datatype;typedef

求較大整數n的階乘,因為n較大時,n的階乘超出了正常類型的表示範圍,可以采用數組進行操作c實現

c語言 n階乘下面鏈接是java的實現,思路叫清晰點http://blog.51cto.com/6631065/2044441 #include <stdio.h> void Print_Factorial ( const int N ); int main() { int N; sc

求較大整數n的階乘,因為n較大時n的階乘超出了正常類型的表示範圍,采用數組進行操作java實現

階乘 大數字package net.yk.mlgorithm; /** * 求較大數的階乘 * @author Administrator * * @param <T> */ public class ArraysMul<T> { public static void

深度學習之TensorFlow使用CNN測試Cifar-10資料Python實現

題目描述: 1. 對Cifar-10影象資料集,用卷積神經網路進行分類,統計正確率。 2.選用Caffe, Tensorflow, Pytorch等開 源深度學習框架之一,學會安裝這些框架並呼叫它們的介面。 3.直接採用這些深度學習框架針對Cifar-10資料集已訓練好的網路模型,只

BST及其各種操作C實現

#include <stdio.h> #include <stdlib.h> typedef int ElementType; typedef struct Node{ ElementType data; struct Node* l

結合API Gateway和Lambda實現登入時的重定向和單提交請求Python3實現

1. 建立Lambda函式,程式碼如下: 1 from urllib import parse 2 3 def lambda_handler(event, context): 4 body = event['body'] 5 print("-----------body:"

單鏈的逆置C++實現

  單鏈表以及逆置是什麼就不說了,就簡單說一下思想: 連結串列的初始狀態: 具體的方法就是將頭節點後面的節點,依次通過指標指向,插入head頭節點之後,即可完成逆置過程.  示意圖(這裡我寫一下中間處理流程,因為這樣比較直觀.第一次的處理與正常處理雷同): 需要注意的

wider face資料集轉化為VOC資料matlab實現

head.xml <annotation> <folder>widerface</folder> <filename>%06d.jpg</filename> <source>

JavaSE_io_根據路徑逐層建立資料程式碼實現

Java 中,建立 file 時,必須要 路徑上的目錄存在時,才能建立檔案,否則會丟擲異常。 所以需要對檔案路徑上的目錄一一建立,下面給出這樣一個實現。  import java.io.File; /** * Created by szh on 2017/10/1

SQL不同伺服器資料庫之間資料操作當在一個伺服器的某張中有資料更新時,將更新值通過觸發器插入到另一個伺服器的指定

第一步:在建立觸發器的伺服器上建立連結伺服器 建立連結伺服器有兩種方法:1.通過SQL語言建立,2.通過資料庫管理工具建立,下面分別進行詳細介紹: 1.通過SQL語言建立 通過SQL語言建立連結伺服器方法 2.通過資料庫管理工具建立(這裡以SQL SER

資料結構——單鏈實現操作c語言

#include <stdio.h> #include <stdlib.h> #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #d

學無止境1關於Mybatis註解多新增資料操作

今天是2017年11月28日! 今天起,正式開啟學無止境系列,其實也沒什麼,就是記錄下自己在編碼中遇到的問題,學無止境嘛,遇到問題就要解決問題。 今天在用Mybatis+springMVC+spring做一個小練習,所有配置全部用的註解,之前對於Mybati