Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

'Unknown system variable done'

460 views
Skip to first unread message

Dipesh

unread,
Feb 26, 2008, 9:56:40 AM2/26/08
to
Hi all,

I am executing a mysql script through My Query Browser windows. & I am
getting this error message.

'Unknown system variable done'.

The mysql script is as below.

DROP PROCEDURE IF EXISTS GMSPROVIDER$$

CREATE PROCEDURE GMSPROVIDER()
BEGIN
DECLARE PROVIDER_ENCODER CHAR(200);
DECLARE PROVIDER_SEQ INT;
DECLARE a CHAR(16);
DECLARE b INT;
DECLARE CUR1 CURSOR FOR SELECT service_id FROM
SSSDB_CC.tbl_app_gms_provider_binding where
provider_seq_id=PROVIDER_SEQ;
DECLARE CUR2 CURSOR FOR SELECT capability_seq_id FROM
SSSDB_CC.tbl_capability_names where service_id=a;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
SELECT provider_encoder_class into PROVIDER_ENCODER from
SSSDB_CC.tbl_gms_provider_master where provider_name ='MMI';
SELECT distinct provider_seq_id into PROVIDER_SEQ from
SSSDB_CC.tbl_gms_provider_master where provider_name ='MMI';
OPEN CUR1;
WHILE NOT done DO
fetch CUR1 into a;
OPEN CUR2;
WHILE NOT done DO
fetch CUR2 into b;
SELECT capability_seq_id from tbl_provider_capability_values
where capability_seq_id = b and provider_seq_id = PROVIDER_SEQ;
END WHILE;
CLOSE CUR2;
END WHILE;
CLOSE CUR1;
IF(PROVIDER_ENCODER='com.sirf.studio.server.protocol.mapmyindia.encoder.velocity.MDEncoder')
THEN
SELECT 'MMI_EXISTS';
SELECT service_id FROM tbl_app_gms_provider_binding where
provider_seq_id = PROVIDER_SEQ;
SELECT capability_value FROM tbl_provider_capability_values where
provider_seq_id = PROVIDER_SEQ;
SELECT link_url FROM tbl_provider_link_master where link_name
='MMDLINK' ;
ELSE
SELECT 'MMD_DOESNOT_EXISTS';
END IF;
SELECT provider_encoder_class into PROVIDER_ENCODER from
SSSDB_CC.tbl_gms_provider_master where provider_name ='Autodesk';
IF(PROVIDER_ENCODER='com.sirf.studio.server.protocol.autodesk.encoder.velocity.AdEncoder')
THEN
SELECT 'Ad_EXISTS';
ELSE
SELECT 'Ad_DOESNOT_EXISTS';
END IF;
END

CALL GMSPROVIDER()$$

DELIMITER;


Please let me know as to where I am going wrong. Any help will be
appreciated.

Thanks,
Dipesh

Jerry Stuckle

unread,
Feb 26, 2008, 10:48:00 AM2/26/08
to

Where did you declare DONE?

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstu...@attglobal.net
==================

Message has been deleted

Dipesh

unread,
Feb 27, 2008, 1:57:13 AM2/27/08
to
> jstuck...@attglobal.net
> ==================

Hi Jerry,

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

I declare it in the 12th line. Please let me know, as to where is the
issue.?

Thanks,
Dipesh

Jerry Stuckle

unread,
Feb 27, 2008, 7:47:40 AM2/27/08
to

That's declaring a handler, and in that handler setting done equal to
one. But you've never declared done itself.

What's the value of done before your handler is called?


--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.

jstu...@attglobal.net
==================

0 new messages