Sintassi degli scripts di interrogazione
Gli elementi sintattici principali degli scripts di interrogazione sono i
seguenti:
Valgono inoltre le seguenti regole:
| righe vuote: sono ammesse righe vuote tra una definizione e l'altra
(ma non all'interno di una definizione) |
| righe di commento: le righe che iniziano con un puntoevirgola
(;) sono
considerate commenti e trascurate; |
| elementi di commento: se in una riga compare una doppiabarra (//),
la doppiabarra e tutto quanto segue è considerato commento e trascurato; |
| continuazione delle righe: se una riga termina con un carattere di sottolineatura la riga successiva viene
letta come se fosse una continuazione della precedente. Gli spazî che
eventualmente precedono il segno di sottolineatura vengono trascurati. |
| separatore decimale: il separatore decimale è la virgola; |
| espressioni SQL: è possibile usare espressioni SQL in qualunque
punto della sintassi; il formato è
$SQL|$LSQL|$HSQL|$HLSQL={select xxx from yyy where
aaa>bbb}[valore-test]
|
Le espressioni LSQL (Late SQL) sono consentite solo sulle clausole /ESEGUI e
/CHECK e saranno eseguite il più tardi possibile, ovvero nel momento
dell'effettivo utilizzo della stringa. |
| Le espressioni con il prefisso H (HSQL, HLSQL) indicano le heterogeneous
queries. Le heterogeneous queries utilizzano l'apposita
sintassi del BDE (esempio: SELECT * FROM ":DB1:table1" JOIN
":DB2:table2" on ...... ).
Resta inteso che tutte le queries not heterogeneous sono
automaticamente riferite al database di Jolly. |
|
Le espressioni SQL sono eseguite prima di valutare la sintassi dello script, ma dopo aver
tradotto le macro. |
|
Il valore [valore-test] è utilizzato al posto del risultato
dell'espressione SQL durante la validazione preliminare dell'espressione per
quei casi in cui, dipendendo da valori che saranno assegnati a runtime, la
valutazione dell'espressione SQL risulti impossibile o anche solo inutilmente
onerosa. |
|
Se
l'espressione SQL è una query, il risultato sarà sostituito
all'espressione (sarà considerato il primo campo della query). Se la
query
rende più di un record, i records saranno restituiti separati dal carattere
| (ascii 124). |
|
Il simbolo $PK$ sarà sostituito dalla primary key
dell'oggetto che ha creato lo script. In caso di oggetto generato da
allegato, si intende l'oggetto che ha generato l'allegato, non l'allegato
stesso.
|
|
| E' possibile referenziare le seguenti pseudo-variabili:
| $JOP operatore attivo su jolly |
| $JCOMP computer su cui è in
esecuzione jolly |
| $JSCRIPT nome dello script in funzione (solo per scripts SQL) |
|
Per esempi sull'uso degli scripts di interrogazione vedi anche: ESEMPI
DI SCRIPTS DI INTERROGAZIONE
LOG DELLE
ISTRUZIONI SQL
Inserendo nel testo dello script una riga con il seguente formato:
LOG_SQL=c:\temp\log.SQL
il programma registra sul file che viene specificato tutte le
istruzioni SQL utilizzate all'interno dello script. La registrazione del log
inizia a partire dal punto in cui viene inserito il comando.
Se non viene specificato nessun nome di file il programma interrompe la
registrazione del log.
FILE
DI INIZIALIZZAZIONE DEI VALORI
E' possibile specificare un file che contiene i valori default
per le variabili che ne fanno richiesta (vedi opzione
/DEFAULT per le variabili).
Il formato del comando è il seguente: INIT_FILE=nomefile ;
nomefile può contenere variabili di
ambiente e di norma è il nome del file contenente i valori di
inizializzazione; nomefile può tuttavia essere il nome di una cartella (anziché di un
file), oppure un filemask (esempio: c:\temp\*.dat), oppure può
essere lasciato direttamente vuoto; in tali casi il programma consentirà di
specificare il file al momento dell'esecuzione.
nomefile può contenere un valore per riga nel seguente formato: VARIABILE
tab valore da assegnare (tab indica un
tabulatore); .
Sono disponibili le seguenti opzioni collegate al file di
inizializzazione dei valori:
|
MOVE_INIT_FILE=path istruisce il programma a spostare nella cartella specificata il
file di inizializzazione dopo che questo è stato felicemente utilizzato; è
consentito l'uso delle variabili
di ambiente; l'opzione è alternativa a RENAME_INIT_FILE |
|
RENAME_INIT_FILE=[ext] rinomina con
l'estensione specificata il file di inizializzazione dopo che questo è
stato felicemente utilizzato; se l'estensione ext non viene
specificata, il programma utilizza l'estensione default (.ren); l'opzione è
alternativa a MOVE_INIT_FILE |
Esempio:
INIT_FILE=$ALLEGATI$\pippo.dat
MOVE_INIT_FILE=$CLIENT-CESTINO$
RENAME_INIT_FILE=bak
esempio di contenuto di pippo.dat (i nomi delle variabili
da assegnare sono NOMEVAR1, NOMEVAR2 e NOMEVAR3, i valori sono quelli scritti a
lato):
NOMEVAR1 0001
NOMEVAR2 513
NOMEVAR3 giuseppe
Pagina base del manuale
di JOLLY
|