× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



(Apology for messing up the previous Subject...)

rpg400-l-request@xxxxxxxxxxxx wrote:

1. Stored Procedure on iSeries. (Misty Thornton)

DB21034E The command was processed as an SQL statement because it was not a

valid Command Line Processor command. During SQL processing it returned:
SQL0104N An unexpected token ";" was found following "E WHERE EMAIL_ID =
em".
Expected tokens may include: "<space>". LINE NUMBER=7. SQLSTATE=42601

***********

CREATE PROCEDURE MYDB.MANAGE_EMAILS

( IN em VARCHAR(10))
SPECIFIC MYDB.MANAGE_EMAILS

DYNAMIC RESULT SETS 1

P1: BEGIN
IF EXISTS (SELECT * FROM MYDB.EMAIL WHERE EMAIL_ID = em;)
THEN
UPDATE MYDB.EMAIL
SET EMAIL_DESC= 'YYY'
WHERE EMAIL_ID = em;
ELSE
INSERT INTO MYDB.EMAIL(EMAIL_ID, EMAIL_DESC)
VALUES (em, 'YYY')
END IF;
ELSE
UPDATE MYDB.EMAIL

SET EMAIL_DESC = 'YYY'
WHERE EMAIL_ID = em;
END IF
END P1

Try this:

P1: BEGIN
IF EXISTS (SELECT * FROM MYDB.EMAIL WHERE EMAIL_ID = em)
<---- Removed semi-colon
THEN
UPDATE MYDB.EMAIL
SET EMAIL_DESC= 'YYY'
WHERE EMAIL_ID = em; <---- Keep semi-colon
ELSE
INSERT INTO MYDB.EMAIL(EMAIL_ID, EMAIL_DESC)
VALUES (em, 'YYY') ; <---- New semi-colon
END IF; <---- Keep semi-colon
-- ELSE <-- Commented
-- UPDATE MYDB.EMAIL <-- Commented
-- SET EMAIL_DESC = 'YYY' <-- Commented
-- WHERE EMAIL_ID = em; <-- Commented
-- END IF <-- Commented
END P1 ; <---- New semi-colon

Tom Liotta


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.