欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle存儲(chǔ)過(guò)程的幾種調(diào)用方式圖文詳解

 更新時(shí)間:2023年04月14日 10:33:26   作者:zhangbeizhen18  
存儲(chǔ)過(guò)程是一個(gè)預(yù)編譯的SQL語(yǔ)句,優(yōu)點(diǎn)是允許模塊化的設(shè)計(jì),就是說(shuō)只需創(chuàng)建一次,以后在程序中就可以調(diào)用多次,下面這篇文章主要給大家介紹了關(guān)于Oracle存儲(chǔ)過(guò)程的幾種調(diào)用方式,需要的朋友可以參考下

場(chǎng)景:Oracle存儲(chǔ)過(guò)程調(diào)用方式,包括PL/SQL的SQL窗口中調(diào)用、在PL/SQL的命令窗口、在Procedures菜單列表中選中存儲(chǔ)過(guò)程名稱右鍵點(diǎn)擊測(cè)試、在Package Bodies菜單列表中選中存儲(chǔ)過(guò)程名稱右鍵點(diǎn)擊測(cè)試、在Jobs菜單列表選中已經(jīng)配置Job的存儲(chǔ)過(guò)程右鍵中點(diǎn)擊運(yùn)行、Java代碼調(diào)用存儲(chǔ)過(guò)程。

版本:Oracle Database 11g

工具:PL/SQL Developer

一、案例場(chǎng)景

1.基礎(chǔ)環(huán)境

本例環(huán)境,使用Packages和Packages bodies管理存儲(chǔ)過(guò)程Procedure。

Packages和Packages bodies名稱:PKG_ZBZ_PORTAL

Procedure名稱:PRO_INSERT_INFO_ARGS

完整SQL:

--包定義
CREATE OR REPLACE PACKAGE PKG_ZBZ_PORTAL IS
  PROCEDURE PRO_INSERT_INFO_ARGS(IN_DATE IN VARCHAR2 := NULL,
        FLAG OUT NUMBER,
        FAIL_INFO OUT VARCHAR2);
END PKG_ZBZ_PORTAL;
--包體
CREATE OR REPLACE PACKAGE BODY PKG_ZBZ_PORTAL IS
  PROCEDURE PRO_INSERT_INFO_ARGS(IN_DATE   IN VARCHAR2 := NULL,
        FLAG  OUT NUMBER,
        FAIL_INFO OUT VARCHAR2) IS
  BEGIN
    DECLARE
      V_DATE DATE := TRUNC(SYSDATE - 1);
    BEGIN
      FLAG      := 1;
      FAIL_INFO := '';
      IF (IN_DATE IS NOT NULL) THEN
        V_DATE := TO_DATE(IN_DATE, 'YYYYMMDD');
      END IF;
      INSERT INTO B_LOG_INFO
        SELECT SEQ_DEMO_ID.NEXTVAL,V_DATE,
               SYSDATE,'1','執(zhí)行成功',50,'DUAL'
          FROM DUAL;
      COMMIT;
    EXCEPTION
      WHEN OTHERS THEN
        FLAG      := 0;
        FAIL_INFO := '此次執(zhí)行: ' || IN_DATE || ' 輸出結(jié)果: FLAG = ' || FLAG ||
                     '異常信息:  ' || SQLERRM;
        ROLLBACK;
    END;
  END PRO_INSERT_INFO_ARGS;
END PKG_ZBZ_PORTAL;

注意以下測(cè)試,存儲(chǔ)過(guò)程或者包都必須編譯通過(guò),即如下。

2.SQL窗口中調(diào)用存儲(chǔ)過(guò)程

在PL/SQL Developer工具,菜單路徑依次:文件->新建->SQL 窗口,即可以進(jìn)入SQL窗口中。

場(chǎng)景:在存儲(chǔ)過(guò)程提交后,直接在SQL 窗口執(zhí)行,調(diào)用存儲(chǔ)過(guò)程驗(yàn)證和測(cè)試存儲(chǔ)過(guò)程。

var FLAG NUMBER;
var FAIL_INFO VARCHAR2(512);
exec PKG_ZBZ_PORTAL.PRO_INSERT_INFO_ARGS( '20220710',:FLAG,:FAIL_INFO);

3.命令窗口中調(diào)用存儲(chǔ)過(guò)程

在PL/SQL Developer工具,菜單路徑依次:文件->新建->命令窗口,即可以進(jìn)入命令窗口中。

場(chǎng)景:在存儲(chǔ)過(guò)程提交后,直接在命令窗口執(zhí)行,調(diào)用存儲(chǔ)過(guò)程驗(yàn)證和測(cè)試存儲(chǔ)過(guò)程。

var FLAG NUMBER;
var FAIL_INFO VARCHAR2(512);
exec PKG_ZBZ_PORTAL.PRO_INSERT_INFO_ARGS( '20220710',:FLAG,:FAIL_INFO);

4.Procedures菜單列表中調(diào)用存儲(chǔ)過(guò)程

在PL/SQL Developer工具,在左側(cè)對(duì)象導(dǎo)航窗口,菜單路徑依次:Users->用戶名稱->Objects->Procedures,選中需要測(cè)試的存儲(chǔ)過(guò)程,右鍵選中,點(diǎn)擊測(cè)試,即進(jìn)入測(cè)試窗口,根據(jù)需求填寫(xiě)參數(shù)(如果有入?yún)ⅲ?。注意,能出現(xiàn)測(cè)試菜單前提是存儲(chǔ)過(guò)程必須先編譯提交。

場(chǎng)景:在存儲(chǔ)過(guò)程提交后,直接在Procedures菜單列表中選中存儲(chǔ)過(guò)程,調(diào)用存儲(chǔ)過(guò)程驗(yàn)證和測(cè)試存儲(chǔ)過(guò)程。

5.Package或Package Bodies菜單列表中調(diào)用存儲(chǔ)過(guò)程

在PL/SQL Developer工具,在左側(cè)對(duì)象導(dǎo)航窗口,菜單路徑依次:Users->用戶名稱->Objects->Package或Package Bodies,選中需要測(cè)試的存儲(chǔ)過(guò)程,右鍵選中,點(diǎn)擊測(cè)試,即進(jìn)入測(cè)試窗口,根據(jù)需求填寫(xiě)參數(shù)(如果有入?yún)ⅲ?。注意,能出現(xiàn)測(cè)試菜單前提是存儲(chǔ)過(guò)程必須先編譯提交。

場(chǎng)景:在存儲(chǔ)過(guò)程提交后,直接在Package或Package Bodies菜單列表中選中存儲(chǔ)過(guò)程,調(diào)用存儲(chǔ)過(guò)程驗(yàn)證和測(cè)試存儲(chǔ)過(guò)程。

5.1 右鍵包名稱,選擇菜單:查看說(shuō)明與體。即進(jìn)入包里存儲(chǔ)過(guò)程。

5.2 右鍵存儲(chǔ)過(guò)程名稱,選擇測(cè)試,即進(jìn)入測(cè)試窗口。

6.Jobs菜單列表調(diào)用存儲(chǔ)過(guò)程

在PL/SQL Developer工具,在左側(cè)對(duì)象導(dǎo)航窗口,菜單路徑依次:Users->用戶名稱->Objects->Jobs,選中需要運(yùn)行的job任務(wù),右鍵選中,點(diǎn)擊運(yùn)行。

場(chǎng)景:在存儲(chǔ)過(guò)程提交后,直接在Jobs菜單列表中選中存儲(chǔ)過(guò)程,調(diào)用存儲(chǔ)過(guò)程驗(yàn)證和測(cè)試存儲(chǔ)過(guò)程。

7.Java代碼中調(diào)用存儲(chǔ)過(guò)程

本例引用:http://www.dbjr.com.cn/article/281108.htm

場(chǎng)景:

使用Java代碼調(diào)用oracle的存儲(chǔ)過(guò)程,本例使用JdbcTemplate模板類操作.

總結(jié)

到此這篇關(guān)于Oracle存儲(chǔ)過(guò)程的幾種調(diào)用方式的文章就介紹到這了,更多相關(guān)Oracle存儲(chǔ)過(guò)程調(diào)用方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論