case results not showing in editor

Danny Lewkin daniel.lewkin at cognosis.be
Wed Oct 3 03:33:32 CDT 2007


Hi List, Ivan,

when I call this procedure :

create or replace procedure ct_select_competences_module(in  
intModuleID long, IN intOrganisationID LONG, IN strSelectList VARCHAR)
Begin
	CASE strSelectList
	WHEN 'Module' THEN
		SElect RecID, objptr_module, objptr_comppool->name As competence_name,
		objptr_comppool->description As comp_description FROM  
tbl_comppool_modules
		WHERE objptr_module = intModuleID;
	WHEN 'All' THEN
		SELECT RecID, name, description FROM tbl_competence_pool
		WHERE RecID NOT IN (SELECT objptr_comppool FROM  
tbl_comppool_modules WHERE objptr_module = 1) AND objptr_organisation  
= intOrganisationID;
	ELSE
		SELECT 1;
	END CASE
END

After calling this procedure like this :
CALL ct_select_competences_module(1, 1, 'All'),
I get 1 as Query Result, so the ELSE statement is executed.



BUT if I rewrite this procedure :

create or replace procedure ct_select_competences_module(in  
intModuleID long, IN intOrganisationID LONG, IN strSelectList LONG)
Begin
	CASE strSelectList
	WHEN 1 THEN
		SElect RecID, objptr_module, objptr_comppool->name As competence_name,
		objptr_comppool->description As comp_description FROM  
tbl_comppool_modules
		WHERE objptr_module = intModuleID;
	WHEN 2 THEN
		SELECT RecID, name, description FROM tbl_competence_pool
		WHERE RecID NOT IN (SELECT objptr_comppool FROM  
tbl_comppool_modules WHERE objptr_module = 1) AND objptr_organisation  
= intOrganisationID;
	ELSE
		SELECT 1;
	END CASE
END

After calling this procedure like this :
CALL ct_select_competences_module(1, 1, 2),

I DO get a list of records, and the ELSE statement is NOT executed...

So, I guess, the case-statement can NOT compare VARCHARS ?????
Same result with the IF-statement...

Guess this is a bug..??


Greetz,

Danny


More information about the Valentina mailing list