case results not showing in editor

Danny Lewkin daniel.lewkin at cognosis.be
Fri Oct 5 04:42:01 CDT 2007


Thanks Ivan!! ;-)


Op 5-okt-07, om 11:31 heeft Ivan Smahin het volgende geschreven:

> Hello Danny,
>
> Wednesday, October 3, 2007, 11:33:32 AM, you wrote:
>
>> 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..??
>
> Fixed.
> http://valentina-db.com/bt/view.php?id=2708
>
>
> -- 
> Best regards,
> Ivan Smahin
> Senior Software Engineer
> Paradigma Software, Inc
> Valentina - The Ultra-Fast Database
> http://www.valentina-db.com
>
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina



More information about the Valentina mailing list