今天在開發過程中遇到兩個問題:
1.如何呼叫別人資料庫的儲存過程?
2.如何呼叫自己資料庫不同使用者下的儲存過程?
經過網上搜尋資料和自己的不斷測試,終於成功了,現記錄下來,以便資源共享。
首先,如果是呼叫別人的資料庫的儲存過程,首先你得先跟別人的資料庫建立乙個dblink(如何建立,在此不進行描述),
其次,別人資料庫的儲存過程要給你的使用者賦予一定的許可權。
比如,我測試時候的資料,
up_if_stocksenddiyok是別人資料庫裡面的儲存過程的名字;
imes_link是建立的dblink;
(porderkey,puserid,pusername,pdate)是呼叫儲存過程時傳入的引數。
如果是自己測試的話,可以通過命令視窗(我使用的是plsql工具)輸入:exec up_if_stocksenddiyok@imes_link(porderkey,puserid,pusername,pdate);回車即可;
如果通過儲存過程呼叫的話,直接輸入 up_if_stocksenddiyok@imes_link(porderkey,puserid,pusername,pdate);即可。
如果是呼叫自己資料庫不同使用者下的儲存過程,首先要給使用者賦予對應的許可權:
grant execute(或者是all)儲存過程名字(如有包的話,要先把包名賦予許可權)for 使用者。
比如:我有兩個使用者user1和user2,現在我想通過user1呼叫user2下面pro_test儲存過程,語句為:grant execute pro_test for user1.
可以動態分頁的儲存過程
可以動態分頁的儲存過程 一位朋友介紹的方法 cretate procedure oguess commonpaging tablename varchar 50 tablefield varchar 20 where varchar 100 orderby varchar 100 curpage i...
儲存過程的理解與操作
儲存過程 類似函式 批量處理 1 為什麼使用 mysql伺服器在快取機制做了改進,使用類似預處理的那種方式,由於沒有編譯器,因此mysql儲存過程不會像外部語言 c 編寫的程式執行的那麼快。提公升速度最主要的方法有兩種 降低網路的資訊流量,減少使用者與伺服器之間的互動 因為儲存過程是在伺服器端執行,...
JDBC操作簡單的儲存過程
執行儲存過程 author john public class procedure string sql try catch sqlexception e finally 這是乙個簡單的儲存過程 create procedure addid 建立儲存過程,名字為addid in pusername ...