Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

test a stored proc in oracle sql developer.

Posted on 2008-06-20
4
Medium Priority
?
1,189 Views
Last Modified: 2013-12-18
I would like to test the following:
p_old_price_list_id = '200701'
p_new_price_list_id = '200720'

PROCEDURE price_list_deletions (p_old_price_list_id       IN     price_list_dtl.price_list_hdr_id%TYPE,
                                p_new_price_list_id       IN     price_list_dtl.price_list_hdr_id%TYPE,
                                p_status                  OUT NOCOPY varchar2,
                                p_deleted_cursor          IN OUT t_cursor)
                               

IS

BEGIN
  p_status := 'Success';
  OPEN p_deleted_cursor
    FOR
      SELECT A.grade_code_dtl_id
             FROM price_list_dtl A
             WHERE A.price_list_hdr_id = p_old_price_list_id
      MINUS
        SELECT B.grade_code_dtl_id
               FROM price_list_dtl B
               WHERE B.price_list_hdr_id = p_new_price_list_id;

  EXCEPTION
    WHEN others THEN
         p_status := 'Failure: ' || SQLERRM;

END price_list_deletions;


See the output
0
Comment
Question by:mathieu_cupryk
  • 3
4 Comments
 
LVL 14

Expert Comment

by:ajexpert
ID: 21836073
We cannot test it as we do not have tables and data

What is your requirement.  If you can tell us, probably we can tell you the logic
0
 

Author Comment

by:mathieu_cupryk
ID: 21837811
ajex, i need to do more error checking because there are no rows being returned and it fails when it does the execute dataset.
0
 
LVL 14

Expert Comment

by:ajexpert
ID: 21838369
I believe you can do error checking in the front end.  You have the property of dataset.rowcount
If this is 0 you can take appropriate action
0
 
LVL 14

Accepted Solution

by:
ajexpert earned 2000 total points
ID: 21838549
Here is the check you can do in database

Hope it helps
PROCEDURE price_list_deletions (p_old_price_list_id       IN     price_list_dtl.price_list_hdr_id%TYPE,
                                p_new_price_list_id       IN     price_list_dtl.price_list_hdr_id%TYPE,
                                p_status                  OUT NOCOPY varchar2,
                                p_deleted_cursor          IN OUT t_cursor)
                                
 
IS
lv_count                        NUMBER :=0;
 
BEGIN
  p_status := 'Success';
 
  SELECT COUNT(*) INTO lv_count
  FROM
  (
        SELECT A.grade_code_dtl_id 
             FROM price_list_dtl A 
             WHERE A.price_list_hdr_id = p_old_price_list_id
      MINUS
        SELECT B.grade_code_dtl_id
               FROM price_list_dtl B
               WHERE B.price_list_hdr_id = p_new_price_list_id;
);
 
  IF lv_count = 0 THEN
    p_status := 'Failure: No records returned';
    RETURN;
  END IF;
 
  OPEN p_deleted_cursor
    FOR
      SELECT A.grade_code_dtl_id 
             FROM price_list_dtl A 
             WHERE A.price_list_hdr_id = p_old_price_list_id
      MINUS
        SELECT B.grade_code_dtl_id
               FROM price_list_dtl B
               WHERE B.price_list_hdr_id = p_new_price_list_id;
 
  EXCEPTION
    WHEN others THEN
         p_status := 'Failure: ' || SQLERRM;
 
END price_list_deletions

Open in new window

0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
This video shows how to Export data from an Oracle database using the Datapump Export Utility.  The corresponding Datapump Import utility is also discussed and demonstrated.
Suggested Courses
Course of the Month13 days, 19 hours left to enroll

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question