學習筆記 過程、同義詞、序列
儲存過程的執行方法:(包括函式)
在sql*plus中使用EXEC 過程名
SQL> exec dbms_stats.gather_table_stats(ownname=>'SG',tabname=>'EMPLOYEES',cascade=>true,degree=>4);
函式直接呼叫
Functions are called anywhere an expression is valid:
==》 In an assignment:
order_volume := open_orders(SYSDATE, 30);
==》 In a Boolean expression:
IF (open_orders(SYSDATE, 30) < 500 )
THEN …
==》 In a default value assignment:
DECLARE
order_volume NUMBER
DEFAULT open_orders(SYSDATE, 30);
BEGIN …
==》 In a SQL statement:
SELECT vendor_name
FROM vendors
WHERE open_orders(SYSDATE, 30, vendor_id) = 0;
==》 In the parameter list of another program:
process_vendor(vendor_id,open_orders(vendor=>vendor_id));
引數傳入的兩種方式:以位置標記和以引數名標記
上面是以引數名為標記的例子,下面是以位置標記的例子
SQL> exec dbms_utility.analyze_schema('SG','ESTIMATE',null,10);
關於資料包上的可執行許可權的說明
When you grant the
EXECUTE privilege on a package, it is for all programs and data structures in
the package specification. You cannot grant privileges on only one procedure
or function within a package.
在資料包中函式或者過程可以過載overload
示例如下:
create or replace package pk_test is
-- Public function and procedure declarations
function f_tt(p_msg varchar2) return varchar2;
function f_tt(p_code number) return number;
end pk_test;
關於同義詞的引用
1 只要它人C有基表(A.tab_name)的選擇權,那麼B的同義詞a_tab(A.tab_name)不需要賦權給C,C也能訪問a_tab;
USER A:
GRANT SELECT ON TAB TO B;
GRANT SELECT ON TAB TO C;
USER B:
CREATE SYNONYM A_TAB FOR A.TAB;
USER C:
SELECT * FROM B.A_TAB;
2 如果C沒有基表的選擇權,那麼要透過B賦權給C,C才能訪問這個同義詞。過程如下:
USER A:
GRANT SELECT ON TAB TO B WITH GRANT OPTION;
USER B:
CREATE SYNONYM A_TAB FOR A.TAB;
GRANT SELECT ON A_TAB TO C;
USER C:
SELECT * FROM B.A_TAB;
3 同義詞沒有失效的概念,它可以引用一個不存在的物件。
關於降序序列
降序序列的預設最大值為-1,如果建立一個最大值為0的降序序列,除了要指出start with 和 increment by 外,還需要指出maxvalue
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271063/viewspace-916221/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle學習筆記(十四) 資料庫物件 索引 檢視 序列 同義詞Oracle筆記資料庫物件索引
- 【學習筆記】Prufer 序列筆記
- 【學習】SQL基礎-017-同義詞SQL
- 隨機過程學習筆記——概論隨機筆記
- 學習C過程中的筆記系列-2筆記
- 「馬爾可夫決策過程」學習筆記馬爾可夫筆記
- SAP Commerce Cloud 的構建過程學習筆記Cloud筆記
- 同餘最短路學習筆記筆記
- 隨機過程複習筆記隨機筆記
- lua課程學習筆記筆記
- Android學習過程的Cursor遊標填坑筆記Android筆記
- 協同過濾筆記筆記
- Python 反序列化漏洞學習筆記Python筆記
- 達內課程學習筆記筆記
- 機器學習課程筆記機器學習筆記
- [CTF/Web] PHP 反序列化學習筆記WebPHP筆記
- unity學習筆記-C#協程Unity筆記C#
- 數論學習筆記 (5):同餘與逆元筆記
- 【Redis學習筆記】2018-06-21 redis命令執行過程 SETRedis筆記
- Android學習筆記14-從原始碼分析Toast的建立過程Android筆記原始碼AST
- 深度學習在攜程搜尋詞義解析中的應用深度學習
- PHP 反序列化漏洞入門學習筆記PHP筆記
- 中考常見同義詞和同義短語總結
- 英語學習詳細筆記(十一)動名詞筆記
- iOS學習筆記--PresentedVC自定義彈窗iOS筆記
- Pytest學習筆記6-自定義標記mark筆記
- [20191122]schama建立同義詞.txt
- 匯出oracle公有同義詞Oracle
- .NET 雲原生架構師訓練營(物件過程建模)--學習筆記架構物件筆記
- CodeQL學習筆記(1)-QL語法(邏輯連線詞、量詞、聚合詞、謂詞和類)筆記
- Java學習過程Java
- 步步學習自定義View:Hencoder 精簡版學習筆記(一)View筆記
- Linux核心學習筆記(5)– 程式排程概述Linux筆記
- 區塊鏈專項課程學習筆記區塊鏈筆記
- xv6學習筆記(4) : 程式排程筆記
- numpy的學習筆記\pandas學習筆記筆記
- [學習筆記] 丟番圖方程 & 同餘 & 逆元 - 數論筆記
- 記錄下學習使用kratos的過程一
- RxJava 學習筆記 -- 過濾操作符RxJava筆記