DEFQUERYSPEC
Definisce una nuova query e ne assegna l'identificatore alla variabile indicata come primo parametro.
Le caratteristiche della query creata sono:
- si basa unicamente sulla tabella indicata dall'attributo TABELLA[];
- definisce come colonne di output i campi indicati dall'attributo CAMPI[]. Se omesso sono coinvolti tutti i campi della tabella;
- seleziona le righe che soddisfano i filtri definiti dall'attributo SELEZIONI[], in più permette:
- l'utilizzo combinato di operatori AND/OR
- l'utilizzo di parentesi
- l'utilizzo di formule per calcolare le espressioni dei confronti
- ordina le righe in base ai campi indicati nell'attributo IND[]
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| IDQUERY | Long | ||||
| TABELLA | |||||
| TIPOREC | |||||
| CAMPI | |||||
| SELEZIONI | |||||
| TEMPORANEO | Stringa | ||||
| CLONESTAZIONE | Intero | ||||
| IND | |||||
| ELIMINADUPLICATI | Intero | ||||
| VIRTUALE | Intero | ||||
| ERRORE | Intero |
IDQUERY
Identificativo della query, definito mediante una precedente @DEFQUERY.
TABELLA
Nome di un DFX usato durante la definizione di una tabella mediante la specifica @DEFQUERYTABLE.
TIPOREC
Identifica il tipo record relativo al dfx (nel caso di multi-tipo record).
Se non indicato, viene considerato l'unico tipo record presente nel dfx.
CAMPI
Identifica l'elenco dei campi da inserire definizione della query. È possibile anche indicare l'eventuale funzione di raggruppamento da applicare al campo. Le possibili funzioni sono:
- GROUPBY (campo di raggruppamento)
- SUM
- MIN
- MAX
- AVG
- COUNT
Se per un campo si specifica la funzione di raggruppamento, tutti i campi elencati nell'attributo CAMPI devono avere una funzione di raggruppamento. Per i campi per cui si omette la funzione di raggruppamento, si usa d'ufficio la funzione GROUPBY.
SELEZIONI
Indica una o più condizioni che se verificate fanno sì che il record sia selezionato
TEMPORANEO
Nel caso di file temporaneo identifica il nome del file usato per la creazione della tabella.
Indicare normalmente il nome del file della specifica @OP usata per creare il file.
CLONESTAZIONE
Indica se la tabella da utilizzare deve essere quella definita come Clone per Stazione
IND
Indica l'elenco dei campi, separato da spazi, per i quali ordinare il risultato della query.
Se specificato /D, indica che il campo è ordinato in maniera decrescente, piuttosto che crescente.
ELIMINADUPLICATI
Indica di eliminare dal risultato della query le eventuali righe doppie.
Per righe doppie si intendono righe che presentano lo stesso valore per ognuno dei campi.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
VIRTUALE
Il parametro permette la sovrapposizione tra la gestione delle tabelle su DB e la gestione delle tabelle in Struttura Dinamica.
Se il parametro è valorizzato a 0, oppure è omesso, la specifica gestisce il normale accesso alla tabella del DataBase.
Se il parametro è valorizzato a 1 o 2, la specifica gestisce l'accesso alla Struttura Dinamica in memoria, struttura definita con lo stesso nome del DFX della tabella.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | la specifica gestisce il normale accesso alla tabella del DataBase. |
1 | la specifica gestisce l'accesso alla Struttura Dinamica in memoria, struttura definita con lo stesso nome del DFX della tabella. |
2 | la specifica gestisce solo l'accesso alla Struttura per le operazioni di LETTURA, mentre vengono gestiti sia il DB che la Struttura per le operazioni di SCRITTURA/CANCELLAZIONE |
ERRORE
Consente al programma di intercettare e gestire l'errore restituito dalla funzione.
Utilizzare uno dei metodi GetLastError*() della classe BCContextInfo per ottenere le informazioni dell'errore.