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. '...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
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 |
|
|||
|
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 ================== |
|
|||
|
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 > ================== |
|
|||
|
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 |
|
|||
|
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 ================== |