1. 程式人生 > >plsql中儲存過程的測試方法

plsql中儲存過程的測試方法

前言:最近不得不接觸一些專案中的儲存過程,因為某涉及存過的模組出問題啦。。。好吧 存過小白 好一頓折騰終於弄清楚怎麼在plsql中進行存過呼叫及除錯,記錄一下,已備後用(尤其引數為定義型別的存過,引數都不知道怎麼給)。

假設使用者CIFDATA在包CUSTOMERPKG下有如下存過

create or replace package body cifdata.customerPkg is
  PROCEDURE insertIndividualForYinbao(
       individualInfo in individualinfotype,
       flag OUT CHAR,
       msg OUT
VARCHAR2, cusCode OUT VARCHAR2)
as v_cusCode individual.CUSCODE%TYPE;
v_cusCode_temp individual.CUSCODE%TYPE; --具體存過邏輯省略...

入參實體物件型別如下:

type individualinfotype is record(
       clientName   varchar2(225),
       regType      varchar2(20),
       regNo        varchar2(40),
       companyCode  varchar2(20
)
, postCode varchar2(10) )
;

現要進行對其測試:

1.找到儲存過程,開啟測試介面
存過查詢
開啟測試
2.輸入引數
這裡寫圖片描述

這裡特別注意引數的賦值使用‘:=’,引數為自定義型別時使用.對其各項賦值,並可以通過在程式碼段中打斷點進行除錯。

相關推薦

plsql儲存過程測試方法

前言:最近不得不接觸一些專案中的儲存過程,因為某涉及存過的模組出問題啦。。。好吧 存過小白 好一頓折騰終於弄清楚怎麼在plsql中進行存過呼叫及除錯,記錄一下,已備後用(尤其引數為定義型別的存過,引數都不知道怎麼給)。 假設使用者CIFDATA在包CUST

PLSQL儲存過程編輯卡死的解決方法

1.select * FROM dba_ddl_locks where name =upper('儲存過程名稱');找出鎖住的session2.select t.sid,t.serial# from v$session t where t.sid=&session_i

pl/sql儲存過程測試

pl/sql中儲存過程含有自定義陣列的引數: 測試debug模式: 例子 : 儲存過程 PRE_BOOKTICKET_SEND 為 :  CREATE OR REPLACE PROCEDURE "PRE_BOOKTICKET_SEND"(TICKETID VARCHAR2,

PLsql執行儲存過程方法

1、在sqlplus命令列介面使用"EXECUTE"命令(簡寫做"EXEC")執行[email protected]> exec proc_helloworldHello World!PL/SQL procedure successfully complet

如何在PLSQL 檢視包體儲存過程的詳細資訊

一般而言,對於函式(Function)、儲存過程(Procedure)的檢視,可以在PLSQL中直接 右鍵點選相關物件,點選檢視(View)即可。對於包(Package)而言,右鍵點選檢視(View)時,只能看到包中涉及的儲存過程,引數等資訊,對於明細的儲存過程則無法檢視,此時需要右鍵點選檢視說

SQL server 2012 儲存過程除錯

1、儲存過程無法直接除錯 選中要除錯的儲存過程,右擊“執行儲存過程”,根據是否需要輸入引數,若需要則可以先隨便輸入,跳轉到Exec 頁面後,輸入正確合理的引數進行,F10,開始除錯,F11,進入到被呼叫的儲存過程中。 結論:無法很好的與C#客戶端程式聯合起

Mysql儲存過程與自定義函式的區別

建立儲存過程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parameter ...]]) [ characteristi

SqlServer儲存過程中將Exec的執行結果賦值給變數輸出

背景: 遇到這樣一種情況:動態向儲存過程中傳入表名和表的某些屬性(這裡用到的是主鍵ID),然後利用這兩個變數查出一條資料的某些欄位值,然後再利用這些值進行邏輯運算(自己的邏輯),最後將結果輸出。話不多說,直接上圖,看是否是你想要的結果: 說明:【區域1為要用來測試的表】【 區域2 為表中資料】【區域3

Sql Server 2008儲存過程傳入表值引數

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

儲存過程的使用和基礎語法,以及.Net呼叫儲存過程方法

1、儲存過程的概念 儲存過程是一組為了完成特定功能的SQL語句集,儲存在資料庫中,經過第一次呼叫編譯後,再次呼叫不需要編譯。使用者通過指定儲存過程的名字並給出引數 (如果該儲存過程帶有引數) 來執行它 , 儲存過程是資料庫中的一個重要物件 ; 儲存過程中可以包含 邏輯控制語句 和 資料操

springboot_springdata-jpa @Procedure呼叫儲存過程查詢方法

專案地址: https://github.com/heng1234/springdata-jpa  1、mysql資料建立表和儲存過程 CREATE TABLE `user` ( `id` INT (11) NOT NULL AUTO_INCREMENT,

在ORACLE儲存過程變數名和表字段名相同

1.事件概述 今天再寫儲存過程使用變數沒注意到問題,導致SQL執行緩慢,找了許久才發現哪裡有問題。 2.發現問題 在儲存過程中執行下圖sql需要20秒左右,執行計劃發現走了全表掃描,而在儲存過程中相同的SQL不會有問題。 然後我單獨把SQL拿出來跑,將變數名替換成真實資料,1秒

oracle儲存過程小結

1.建立或替換一個儲存過程(PROCEDURE) CREATE [OR REPLACE] PROCEDURE procedure_name [ (parameter [,parameter]) ] IS [declaration_section] BEGIN exec

Oracle儲存過程和函式IS和AS的區別

在儲存過程(PROCEDURE)和函式(FUNCTION)中沒有區別; 在檢視(VIEW)中只能用AS不能用IS; 在遊標(CURSOR)中只能用IS不能用AS。 --記住就行了,沒什麼技巧.-_-.

MySQL 儲存過程 中文亂碼問號???

mysql 中文亂碼一直是一個老大難的問題,接下來一一解決!!!! 資料庫儲存資料亂碼 儲存過程中資料亂碼 001 資料庫儲存資料亂碼 相信大家遇到最多就是資料庫中儲存資料,操作完之後,資料庫中中文亂碼,變為????問號。

mysql無法匯入函式和儲存過程解決方法

mysql 建立函式時出現 Error Code : 1418 錯誤解決辦法2008-08-19 17:08Error Code : 1418 This function has none of DETERMINISTIC, NO SQL, or READS SQL

sybase執行儲存過程方法

如題第一種: 如果安裝了dba客戶端的話,開啟isql查詢分析器: 輸入helloworld '2012-4-8','2012-4-9',0 結果: 注意這是有引數的儲存過程,由於受mysql、影響我剛剛是這樣輸入的helloworld ('2012-4-8','2012-

oracle儲存過程詳解

oracle中儲存過程的使用過程是指用於執行特定操作的PL/SQL塊。如果客戶應用經常需要執行特定操作,那麼可以考慮基於這些操作建立過程。通過使用過程,不僅可以簡化客戶應用的開發和維護,而且可以提高應用程式的執行機能。一、 使用過程引數當建立過程時,既可以指定過程引數,也可以

幾種應用程式呼叫Oracle儲存過程方法

一、Java中呼叫帶Cursor的儲存過程: 儲存過程定義: PROCEDURE GET_CURSOR_RESULT2(CR OUT CURSOR_RESULT) IS BEGIN OPEN CR FOR select t1.id, t

【機房重構】——檢視上機記錄、充值記錄+三層+儲存過程+模板方法

模板方法 定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。 即:重複度高的窗體,可以用模板方法,比如組合查詢。少數