?
Solved

test a stored proc in oracle sql developer.

Posted on 2008-06-20
4
Medium Priority
?
1,187 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

Question has a verified solution.

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

Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: http://www.e-e.com/A_8429.html Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many…
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
This video shows information on the Oracle Data Dictionary, starting with the Oracle documentation, explaining the different types of Data Dictionary views available by group and permissions as well as giving examples on how to retrieve data from th…
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.
Suggested Courses

771 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