'Unknown system variable done'

This is a discussion on 'Unknown system variable done' within the MySQL Database forums, part of the Database Forums category; Hi all, I am executing a mysql script through My Query Browser windows. & I am getting this error message. '...


Go Back   Usenet Forums > Database Forums > MySQL Database

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-26-2008
Dipesh
 
Posts: n/a
Default 'Unknown system variable done'

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.protoc ol.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.protoc ol.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
Reply With Quote
  #2 (permalink)  
Old 02-26-2008
Jerry Stuckle
 
Posts: n/a
Default Re: 'Unknown system variable done'

Dipesh wrote:
> 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.protoc ol.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.protoc ol.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
>


Where did you declare DONE?

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

Reply With Quote
  #3 (permalink)  
Old 02-27-2008
Dipesh
 
Posts: n/a
Default Re: 'Unknown system variable done'

On Feb 26, 8:48 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> Dipesh wrote:
> > 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.protoc ol.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.protoc ol.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.


Hi Jerry,

It have seperated that sentence, so that now it is clearly
visible.

> > Thanks,
> > Dipesh

>
> Where did you declare DONE?
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================


Reply With Quote
  #4 (permalink)  
Old 02-27-2008
Dipesh
 
Posts: n/a
Default Re: 'Unknown system variable done'

On Feb 26, 8:48 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> Dipesh wrote:
> > 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.protoc ol.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.protoc ol.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

>
> Where did you declare DONE?
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> 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
Reply With Quote
  #5 (permalink)  
Old 02-27-2008
Jerry Stuckle
 
Posts: n/a
Default Re: 'Unknown system variable done'

Dipesh wrote:
> On Feb 26, 8:48 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
>> Dipesh wrote:
>>> 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.protoc ol.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.protoc ol.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

>> Where did you declare DONE?
>>
>> --
>> ==================
>> Remove the "x" from my email address
>> Jerry Stuckle
>> JDS Computer Training Corp.
>> 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
>


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.
jstucklex@attglobal.net
==================

Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 09:01 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0