Oracle 存儲過程

什么是存儲過程?
存儲過程是一種命名的PL/SQL程序塊,它是由一些T-SQL語句組成的代碼塊,這些T-SQL語句代碼像一個方法一樣實現一些功能(對單表或多表的增刪改查),可以有參數、輸入輸出參數,通常沒有返回值。不可以直接被SQL語句調用或執行,只能通過EXECUTE命令執行或在PL/SQL程序塊內部被調用。
存儲過程的優點
1.一般的T-SQL語句是每次執行都要編譯一次,然而存儲過程是一個編譯過的代碼塊,可以不用再編譯直接調用,所以執行效率比T-SQL語句高。
2.一個存儲過程在程序在網絡中交互時可以替代一大堆的T-SQL語句,所以也能降低網絡的通信量(流量),提高通信速率。
3.當數據庫進行復雜操作時(如對多表進行Update、Insert、Query、Delete時),可將此復雜作用存儲過程封裝起來與數據庫提供的事務處理結合一起使用。
4.存儲過程代碼精簡一致,可以重復使用。
5.安全性高,可設定只有某用戶才具有對指定存儲過程的使用權。
存儲過程的創建
基本語法:create [or replace] procedure pro_name[(parameter1[,parameter2]...)] is|as
begin
plsql_sentence;
[exception]
[dowith_sentence;]
end [pro_name];
● pro_name:存儲過程名稱,如果數據已經存在此名稱,則可以指定“or replace”關鍵字,這樣新的存儲過程將覆蓋原來的存儲過程。
● parameter1:存儲過程的參數,輸入參數需在后指定“in”關鍵字,輸出參數需在后指定“out”關鍵字。參數類型不能指定長度。
● plsql_sentences:PL/SQL語句,它是存儲過程功能實現的主體。
● dowith_sentences: 異常處理語句,也是PL/SQL語句,在代碼中拋異常用 raise+異常名,這是一個可選擇項。
注意:"parameter1"是存儲過程被調用或執行時用到的參數,而不是存儲過程內定義的內部變量。內部變量要在"is|as"關鍵字后面定義,并使用分號(;)結束。
存儲過程的調用
execute procedure_name --存儲過程如果有參數,后面加參數格式為:@參數名=value,也可直接為參數值value.
存儲過程的刪除
drop procedure procedure_name --在存儲過程中能調用另外一個存儲過程,而不能刪除另外一個存儲過程

轉載于:https://www.cnblogs.com/blogShare/p/7398108.html

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

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

相關文章

查看Oracle 版本信息

select * from v$version;轉載于:https://www.cnblogs.com/hanje/p/10614555.html

ubuntu上安裝docker

在Ubuntu16.04上安裝Docker Docker是一個開源的容器引擎,它有助于更快地交付產品。Docker可將應用程序和基礎設施層隔離,并且將基礎設施當作程序一樣進行管理。使用Docker,可以更快地打包,測試以及部署應用程序,并可以…

字符串問題之 在有序但含有空的數組中查找字符串

盡可能使用二分查找 假設在 left right 之間查找 關鍵是mid處理過程 導致 left 跟 right 的改變 控制去哪里尋找 分如下情況: 若 mid處 不為空,并且 此處就是 str 那么記下 mid ,同時把right-1 (往左尋找) 若…

Python_48re模塊的sub方法

sub是替換的功能 sub(模型,替換為的字符,目標原字符串,替換次數) import re yuanchuan1qaz2wsx3edc4rfv5tgb new_strre.sub(\d,INTNUM,yuanchuan,2) #若果沒有2表示默認替換所有的 print (new_str) #輸出結果為:INTNUMqazINTNUMw…

個人筆記-vuex

個人筆記-vuex 最近想要沉淀下自己的知識體系,以前光看不記,當時記得,過段時間記憶就模糊了,好腦子不如爛筆頭,古人誠不欺我,所以現在決定給用自己的語言方式來給自己記個筆記。 vuex vuex 有什么好講的呢&…

常用模塊之hashlib,configparser,logging模塊

常用模塊二 hashlib模塊 hashlib提供了常見的摘要算法,如md5和sha1等等。 那么什么是摘要算法呢?摘要算法又稱為哈希算法、散列算法。它通過一個函數,把任意長度的數據轉換為一個長度固定的數據串(通常用16進制的字符串表示)。 注…

iPhone屏幕各種尺寸分辨率(更新至XS)

iPhone屏幕各種尺寸分辨率(更新至XS) DeviceLogic PointLogic PixelSizeScaleiPhone 2G480 320480 3203.51xiPhone 3480 320480 3203.51xiPhone 3GS480 320480 3203.51xiPhone 4480 320960 6403.52xiPhone 4S480 320960 6403.52xiPhone 5568 …

浙江嘉興徒步游

最近參加了一個徒步團,趁著周末時光,來了一場徒步旅游,不一樣的體驗圖片發自簡書App一開始進山探秘外蒲島的路程,荒草叢生圖片發自簡書App樹木郁郁蔥蔥,藍天白云,一切都很沒好圖片發自簡書App漫山遍野都開滿…

ASP.NET Web API 2 過濾器

前言 我們知道 ASP.NET Web API 過濾器,也是屬于消息處理機制中的一部分。正因如此,我們經常使用它來完成對請求的授權驗證、參數驗證,以及請求的 Log 記錄,程序異常捕獲等。 1. 常用的四大過濾器 ASP.NET Web API 2 中的所有…

java的ThreadLocal類的使用方法

java的ThreadLocal類的使用方法,ThreadLocal是一個支持泛型的類,用在多線程中用于防止并發沖突問題。比如以下的一個樣例,就是用于線程添加1,可是相互不沖突 package com.test.threadlocal;import java.util.concurrent.ExecutorS…

為選擇合適的ERP供應商,是否該發布需求建議書(RFP)?

全球有成百上千家企業資源規劃 (ERP) 解決方案供應商。在開展挑選 ERP 供應商的項目時,不可能與所有這些供應商都進行接觸。不斷縮小這一領域供應商的范圍,直到最終敲定最適合的入圍名單(通常被稱為“最終候選人名單”)是項目成功…

kettle插入更新流程

kettle轉換步驟工作組件 這里有四個類構成了這個kettle 步驟/節點,每一個類都有其特定的目的及所扮演的角色。 TemplateStep: 步驟類實現了StepInteface接口,在轉換運行時,它的實例將是數據實際處理的位置。每一個執行線程都表示一個此類的實…

打開mobilenet——ssd的demo.py顯示這樣的錯誤解決方法:Intel MKL FATAL ERROR: Cannot load libmkl_avx.so or libmkl_def.s

終于找到方法了: ubuntu14.04打開終端: conda install nomkl numpy scipy scikit-learn numexpr conda remove mkl mkl-service一切ok。。。。。

C++ class、struct區別

一、默認訪問控制不同(最主要) struct默認為public,class默認為private。這個訪問控制既是指成員的默認訪問屬性,又指繼承時默認的繼承屬性。 二、定義template時不同 在模版中,類型參數前面可以使用class或typename&a…

Alpine Linux詳解

簡介 Small. Simple. Secure.Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox. Alpine Linux 是一個社區開發的面向安全應用的輕量級Linux發行版。 Alpine 的意思是“高山的”,它采用了musl libc和busybox以減…

java stream 原理

java stream 原理 需求 從"Apple" "Bug" "ABC" "Dog"中選出以A開頭的名字,然后從中選出最長的一個,并輸出其長度 1. 最直白的實現 缺點 迭代次數過多頻繁產生中間結果,性能無法接受2. 平常寫法 int …

ubuntu文本模式獲得權限修改profile

針對ubuntu14.04以下,越舊版本,舊的指令也有效。 進入登錄頁面,按shiftaltF1進入root環境,驗證用戶名密碼。 然后輸入:cd /etc 進入etc文件 在輸入:/usr/bin/sudo vi profile 進入profile文件的文本編輯模…

here文檔 here doc EOF重定向

here文檔 here doc EOF重定向 http://www.cnblogs.com/xiangzi888/archive/2012/03/24/2415077.html 在shell腳本程序中,向一條命令傳遞輸入的一種特殊方法是使用here文檔。一個here document就是一段帶有特殊目的的代碼段。它使用I/O重定向的形式將一個命令序列傳…

Java常量池理解與總結

2019獨角獸企業重金招聘Python工程師標準>>> 一.相關概念 什么是常量用final修飾的成員變量表示常量,值一旦給定就無法改變!final修飾的變量有三種:靜態變量、實例變量和局部變量,分別表示三種類型的常量。Class文件中…

轉載:https://blog.csdn.net/dcrmg/article/details/52939318

張正友相機標定Opencv實現以及標定流程&&標定結果評價&&圖像矯正流程解析(附標定程序和棋盤圖)使用Opencv實現張正友法相機標定之前,有幾個問題事先要確認一下,那就是相機為什么需要標定,標定需要的輸…