I am new to DB2 and am trying to create a simple SP that returns two datasets. I am getting a few errors when I try to run the SP. Here is the SP:
Code:
CREATE PROCEDURE TESTDB2.USP_SELECT_ALL_DPR_DEALER (IN dealer_ID VARCHAR(100))
DYNAMIC RESULT SETS 1
LANGUAGE SQL
NOT DETERMINISTIC
CALLED ON NULL INPUT
MODIFIES SQL DATA
FENCED
COLLID TESTDB2
WLM ENVIRONMENT TDB2ENV
ASUTIME LIMIT 5000000
RUN OPTIONS 'NOTEST(NONE,*,*,*)'
------------------------------------------------------------------------
-- SQL Stored Procedure
------------------------------------------------------------------------
P1: BEGIN
-- Declare cursor
DECLARE dprCursor CURSOR WITH RETURN FOR
SELECT rt.dpr_no, rt.dol, rt.formal_name, rt.dmg_cd,
rt.dpr_sts_cd, rt.prob_desc_500, rt.arcv_indc
FROM bqadprrt as rt
WHERE rt.so_cd = dealer_ID
ORDER BY rt.dpr_no;
SELECT vs.dpr_no, vs.veh_ser_no, vs.tso_split_no, vs.loc,
vs.meas_cd, vs.meas_cur, vs.cust_name_abbr,
vs.veh_base_mdl_no, vs.date_mfg_rlse
FROM bqadprvs as vs, (SELECT dpr_no FROM TestDB2.bqadprrt WHERE so_cd = dealer_ID) as tempDPRNum
WHERE vs.dpr_no = tempDPRNum.dpr_no
ORDER BY vs.dpr_no;
-- Cursor left open for client application
OPEN dprCursor;
END P1
The first error is "ILLEGAL SYMBOL "<END-OF-STATEMENT>". SOME SYMBOLS THAT MIGHT BE LEGAL ARE:. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.58.81" and the error message is displaying only part of my SP.
The following is not displayed in the error message:
Code:
;
-- Cursor left open for client application
OPEN dprCursor;
END P1
I don't know if this is because there is an error at ";" or if the error message can only display so many characters.
Here are the other errors:
Code:
SELECT vs.dpr_no, vs.veh_ser_no, vs.tso_split_no, vs.loc,
vs.meas_cd, vs.meas_cur, vs.cust_name_abbr,
vs.veh_base_mdl_no, vs.date_mfg_rlse
FROM bqadprvs as vs, (SELECT dpr_no FROM bqadprrt WHERE so_cd = dealer_ID) as tempDPRNum
WHERE vs.dpr_no = tempDPRNum.dpr_no
ORDER BY vs.dpr_no
ODFIM.BQADPRVS IS AN UNDEFINED NAME. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.58.81
UNACCEPTABLE SQL STATEMENT. SQLCODE=-84, SQLSTATE=42612, DRIVER=3.58.81
ILLEGAL SYMBOL "P1". SOME SYMBOLS THAT MIGHT BE LEGAL ARE:. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.58.81