accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: LEFT JOIN UNA FETCH

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  it.comp.as400 ] 

Retour : Accueil du site it comp as400  


  Sujet:   Re: LEFT JOIN UNA FETCH  
 De: mau_...@yahoo.it (Mauro Romeo)
 Groupes: it.comp.as400
 Organisation: http://www.newsland.it/nnrp-beta
 Date: 16. Jul 2008, 18:11:44
 References: 1 2
MarcoF ha scritto:
> On 14 Lug, 21:57, "Stefano P." <procs...@pinzillacchere.yahoo.it>
> wrote:
>   
>>>>> Come faccio a gestirlo sulla fetch?
>>>>>           
>>> COALESCE(campo1, <valore default>) no?
>>>       
>> Sono "due cose diverse":
>> se non vuoi assolutamente avere il campo nullo allora usi "Coalesce" e
>> passa la paura, non importa quale interfaccia stai usando (SQLi,
>> RunSqlScript, odbc etc. etc.);
>> se invece vuoi usare l'sql "embedded" (soprattutto con statement
>> dinamici, noti solo a tempo di esecuzione) allora devi dare la
>> possibilità al programma di gestire i nulli e la soluzione è quella
>> suggerita da Danilo, cioè la schiera di indicatori di campo nullo.
>>
>> Saluti
>>         Stefano P.
>>
>> --
>> "Niuna impresa, per minima che sia,
>>   può avere cominciamento e fine senza queste tre cose:
>>   e cioè senza sapere, senza potere, senza con amor volere"
>>                  [Anonimo fiorentino, XIV sec.]
>>
>> (togliere le "pinzillacchere" dall'indirizzo email  ;-)
>>     
>
> --Stefano ha scritto --
> se invece vuoi usare l'sql "embedded" (soprattutto con statement
> dinamici, noti solo a tempo di esecuzione) allora devi dare la
> possibilità al programma di gestire i nulli e la soluzione è quella
> suggerita da Danilo, cioè la schiera di indicatori di campo nullo.
> --
>
> Trovo che obbligarci a questa soluzione (so che IBM non ascolta questa
> lista, ma il Common si) sia la cosa più fetente cha abbia mai visto da
> parte Ibm. IL supporto generale sui campi nulli è una cosa a dir poco
> obrobriosa per l'SQLRPG, un po' meglio per l'RPG.
> Non so se qualcuno ha risolto il problema delle SELECT * FROM e dei
> campi nulli, è ben vero che sono sconsigliate ma quando devo usare più
> del 50% dei campi o se sono molti trovo che usare la ds sia
> infinitamente più comodo. La tecnica suggerita è quella di passare una
> schiera d'indicatori numerici per poi interrogarli POSIZIONALMENTE, è
> chiaro che l'inserimento di una colonna in un qualsiasi punto che non
> sia la fine del record causa il classico errore di aliasing. L'unica
> soluzione che ho trovato finora è estrarmi l'elenco dei campi del file
> e trovarmi la posizione del campo a runtime, chiaramente comodo.
> Qualcuno ha trovato soluzioni migliori?
>
> Grazie e scusate lo sfogo.
> MarcoF
>   
Io per questo problema ho fatto cosi' (non sara' molto bello ma funziona):

  D nomecampo       S            128A   VaryIng
  D  nomi       S                                   Dim(200) Like(nomecampo)
  D  SkNull     S                           3I 0 Dim(200) 
.......... //  Estrazione campi ad inizio programma
      Exec Sql
           Declare Sqlcur cursor for
             Select column_name
               From Syscolumns
               Where TABLE_NAME = '***MIOFILE***' And
                     TABLE_SCHEMA = '***MIALIBRERIA***'
               Order By ORDINAL_POSITION;

         Exec Sql
           Open Sqlcur4f;

         Dow 1 = 1;
           Exec Sql
             Fetch Sqlcur4f into :nomecampo;
           If sqlcode <> 0;
             Leave;
           EndIf;
           cx += 1;
           nomi(cx) = nomecampo;
         EndDo;
         Exec Sql
           Close Sqlcur4f;                              
 .......
       // Lettura dati
         If sknull(%Lookup('***CAMPODAUTILIZZARE***':nomi)) < 0;
           .........
         Else;
           ........
         EndIf;                

Mauro Romeo


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)