IDE: Query editor e outer join
copia linkDescrizione
Se si attivava la clausola outer join su una tabella in una query occorreva anche attivare il flag outer join su tutti i campi della tabella qualora utilizzati nelle clausole where. Se non veniva eseguita questa operazione la query rimaneva di tipo "inner join" anche se, nel Visual Code Editor era scritto "outer join" accanto alla tabella.
Il motivo è dovuto al fatto che il programmatore, oltre ad indicare il tipo di relazione della tabella nella query deve anche specificare quali clausole where sono di tipo outer o inner.
A partire dalla versione 24.0 è stato introdotto un automatismo, che pensiamo faciliti la scrittura del codice. Tale automatismo attiva/disattiva automaticamente il flag "outer join" su tutti i campi di tutte le clausole where quando si attiva o disattiva "outer join" sulla tabella nella query, come mostrato nell'immagine seguente:

L'attivazione dell'outer join nella tabella Tab3 fa sì che vengano attivati anche i relativi flag "outer join" nei token evidenziati con *. Questo fa sì che la tabella 3 sia in outer join. Se i due token fossero rimasti senza flag "outer join" la query, anche se era indicato "outer join" accanto alla tabella rimaneva di tipo inner poiché le clausole where non erano cambiate.
Funzionalità interessate
La scrittura delle query tramite Visual Code Editor.
Note
- Miglioramento relativo ai ticket 001175-2022 e 001800-2023.
- Instant Developer, quando adatta i flag "outer join" nelle clausole where, genera il warning 3680 - Ho cambiato il flag outer join sui campi della tabella [TABELLA] usati nelle clausole where. Dovresti controllare la query per informare il programmatore che, oltre ad aver cambiato il tipo di relazione della tabella sono cambiati anche i flag "outer" nelle clausole where ed è pertanto consigliato ricontrollare la query.
Ultima modifica: 07/06/2024 / Validità: da 24.0.9300