oracle觸發和存儲過程,Oracle存儲過程與觸發器

Oracle存儲過程與觸發器

存儲過程

存儲過程最直接的理解:就是保存了批量的sql(select,insert,if for),以后可以通過一個名字把這些批量的sql執行,使用存儲過程在大批量數據查詢或計算時會帶來高性能,存儲過程編寫和調試比較復雜,不同數據庫產品存儲過程差異非常大,很難實現平滑一致。

● 建立存儲過程

create or replace procedure proc_test(in_var number,out_var out sys_refcursor)

as

begin

open out_var for select * from emp where deptno=in_var;

end;

● 執行存儲過程

var ret refcursor

exec proc_test(20,:ret)

print :ret

觸發器

觸發器是特殊的存儲過程,它與數據庫的insert、update和delete相關聯,如定義完成觸發器之后,會在insert、update或delete語句執行前或執行后自動執行觸發器中的內容。

觸發器示例,向emp表中加入數據,采用觸發器自動再向t_log表里加入一條數據。

● 首先建立t_log表

create table t_log (

log_id number(10) primary key,

log_time date

)

●?為建立t_log的主鍵建立sequence

create sequence seq_log_id start with 1 increment by 1;

● 建立觸發器

create or replace trigger tri_test

after insert on emp

begin

insert into t_log(log_id, log_time) values(seq_log_id.nextval, sysdate);

end;

● 向emp表中加入數據

insert into emp(empno, deptno) values(7777, 10);

32b8af7590d02052551400515cf21358.png

在emp中多了一條數據empno為7777,在t_log中自動加入了一條數據,這就是觸發器的作用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396894.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396894.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396894.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(hdu 簡單題 128道)平方和與立方和(求一個區間的立方和和平方和)

題目:平方和與立方和Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 108212 Accepted Submission(s): 34915Problem Description給定一段連續的整數。求出他們中全部偶數的平方和以及全部奇數的立方…

企業高可用切換的說明

企業的應用場景,基本上都離不開高可用,不管是windows下自帶的集群軟件,或者是Linux下的heartbeat,keepalived等,AIX下的hacmp等。-----------------------------引用老男孩老師對高可用切換的說明--------------------…

swift int轉string_Swift集合類型協議淺析(下)

關注【搜狐技術產品】公眾號,第一時間獲取技術干貨導讀本篇是Swift集合類型協議淺析系列文章的下篇,在這篇文章中,我們將繼續圍繞集合類型協議展開討論,側重點更多地關注于String相關的周邊協議。StringProtocol代表一個字符串&am…

50 jQuery綁定事件 阻止默認事件發生 內置動畫 each data

主要內容 1 阻止后續事件繼續執行 return false: 常用于表單提交 event.preventDefault : 阻止默認事件發生 <body> <form action""><input type"text" id"t1"><input type"submit" class"s1" id&qu…

oracle視圖執行腳本,Sh腳本中查詢Oracle v$視圖時需要在$號前加轉義符“\”

DBA經常會部署一些sh腳本登陸Oracle數據庫查詢v$動態視圖得到一些東西來實際管理自動化的目的&#xff0c;但在sh腳本中寫ORACLE SQL語句時&#xff0c;如果語句查詢v$視圖&#xff0c;直接寫v$XXXX是不能成功的&#xff0c;shell會將$當成一個參數來處理。以下面一段簡單的sh腳…

Linux下實現視頻讀取(二)---camera參數設定

Camera的可設置項極多&#xff0c;V4L2 支持了不少。但Sam之前對這些設置的使用方法和涵義都是在看videodev2.h中邊看邊理解。感覺很生澀。直到寫這篇blog時&#xff0c;才發現v4l2有專門的SPEC來說明&#xff1a; http://www.linuxtv.org/downloads/legacy/video4linux/API/V4…

微信小程序頁面跳轉與返回并回傳數據

2019獨角獸企業重金招聘Python工程師標準>>> A頁面&#xff1a; .wxml文件 <view class"flex-wrp"><text style"width: 32%;">選擇城市</text><input style"width: 68%;" type"text" bindtap"ci…

地址欄 輸入 參數 刷新參數丟失_小米11 Pro屏幕參數曝光:2K屏幕+120Hz刷新率

本周一&#xff0c;高通已經宣布將于12月初舉行的驍龍技術峰會上正式發布新一代旗艦處理器——驍龍875。根據此前的曝光消息&#xff0c;小米11系列將首發搭載這顆芯片&#xff0c;網上也已經開始對這款新機進行曝光。日前&#xff0c;海外知名論壇XDA在MIUI 12的代碼中發現了一…

Cypress EZ-USB FX3 DMA模式下的串口通訊

由于公司設備升級后出了問題&#xff0c;需要對USB驅動進行修改&#xff0c;原本使用的是寄存器模式進行UART傳輸&#xff0c;但是由于FX3寄存器模式會出現長時間延時等待的問題&#xff0c;不得不對其傳輸模式進行修改。雖然賽普拉斯的EZ-USB FX3系列芯片功能強大&#xff0c;…

php如何寫一個能讓外部訪問的接口,如何寫一個接口供外界訪問

在工作的時候經常調用別人的接口&#xff0c;獲取數據&#xff0c;然后就想知道這中間的原理是什么呢&#xff1f;今天上一個自己寫的一個測試例子&#xff1a;首先是自己遠程寫好的一個接口&#xff1a;public function testming(){$arrarray(first > 1,hospitalname > …

win10遠程桌面連接

有的情況下&#xff0c;Win10設置了允許遠程桌面連接后&#xff0c;遠程主機仍然不能桌面連接到目標主機上&#xff0c;這時可以在目標主機上嘗試如下修改&#xff1a; 開始-->運行->gpedit.msc->計算機配置->Windows設置->安全設置->本地策略->安全選項-…

10494,沒過,待解決,大數除法

10494,沒過,待解決,大數除法 import java.io.*; import java.util.*;public class Main {public static void main(String[] args) throws FileNotFoundException{// Scanner scanner new Scanner(new File("d://1.txt"));Scanner scanner new Scanner(System.in);…

springboot md5加密_實在!基于Springboot和WebScoket,寫了一個在線聊天小程序

基于Springboot和WebScoket寫的一個在線聊天小程序(好幾天沒有寫東西了&#xff0c;也沒有去練手了&#xff0c;就看了看這個。。。)項目說明此項目為一個聊天的小demo&#xff0c;采用springbootwebsocketvue開發。其中有一個接口為添加好友接口&#xff0c;添加好友會判斷是否…

suse 啟動oracle11g,SuSe10下Oracle11g文件系統模式安裝及配置、網絡配置與連接

SuSe10下Oracle11g文件系統模式安裝及配置、網絡配置與連接概述本課程主要講解oracle數據庫軟件的安裝及配置&#xff0c;以及數據庫的創建過程和網絡配置與連接等&#xff1b;同時講解一些數據庫安裝過程中的常見問題解決辦法。注意&#xff1a;本文當中引用的package_name均為…

Python pyenv

一、簡介 一般在操作系統中我們會安裝多個Python版本&#xff0c;所以在進行Python版本切換時會比較麻煩&#xff0c;pyenv就提供了一種簡單的方式&#xff0c;能簡易地在多個Python版本中進行切換的工具&#xff0c;它簡單而優雅。pyenv有以下功能&#xff1a; 1&#xff09;進…

python中add_Python add()函數是如何使用呢?

Python里經常會出現一些不太常見的函數&#xff0c;大家在遇到這類函數時候&#xff0c;是怎么做的呢&#xff1f;沒有概念&#xff0c;直接過&#xff0c;還是會去查詢下呢&#xff1f;相信大部分人都不會去查詢&#xff0c;因為查詢的內容太復雜了&#xff0c;所以&#xff0…

JavaScript的DOM編程總結

DOM&#xff08;文檔對象模型&#xff09;, 與語言無關, 用于操作XML&#xff08;在Web中&#xff09;和HTML&#xff08;在瀏覽器在&#xff09;文檔的應用程序接口。訪問DOM次數越多, 速度越慢, 費用也就越高。 最小化DOM訪問次數&#xff0c;盡可能在JavaScript端處理。 如果…

2017.1.20活動

1、根據教程用傾斜開關控制了一個小燈的亮滅&#xff08;傾斜到達一定角度亮或到達一定角度滅&#xff09;&#xff0c;后自己嘗試了利用傾斜開關控制兩個小燈&#xff0c;即一開始綠燈亮紅燈滅&#xff0c;到達一定角度后&#xff0c;綠燈亮起紅燈滅掉&#xff0c;附代碼&…

oracle 增加間隔分區,oracle分區表之間隔分區(oracle 11g) - 漫兮網

范圍分區允許用戶根據分區鍵列值的范圍創建分區。下面是一個按范圍分區表的示例&#xff1a;create table sales6(sales_id number,sales_dt date)partition by range (sales_dt)(partition p0701 values less than (to_date(2007-02-01,yyyy-mm-dd)),partition p0702 values l…

c++ try catch語句_再問你一遍,你真的了解try..catch(finally)嗎???

定義首先來看下 MDN 的定義&#xff1a;The try...catch statement marks a block of statements to try and specifies a response should an exception be thrown.try...catch語句標記要執行的語句&#xff0c;并指定一個當有異常拋出時候的響應簡短的一句的確描述了try...ca…