Clausola FOR UPDATE
La clausola FOR UPDATE blocca gli aggiornamenti o le eliminazioni nella posizione attraverso i cursori SQL. Il formato è:
FOR UPDATE [OF espressioni_colonna]
espressioni_colonna è una lista di nomi di campi nella tabella di database che si desidera aggiornare, separati da una virgola. espressioni_colonna è opzionale e viene ignorato.
Esempio
Restituire tutti i record nel database dei dipendenti per cui il valore del campo STIPENDIO è superiore a 20.000 Euro.
SELECT * FROM dip WHERE stipendio > 20000 FOR UPDATE OF cognome, nome, stipendio
I record recuperati vengono bloccati. Se il record viene aggiornato o eliminato, il blocco viene mantenuto finché non si applica la modifica. In caso contrario, il blocco viene rilasciato quando si recupera il record successivo.
Esempi
|
Usando |
Esempio SQL |
|
costante di testo |
Copia
|
|
costante numerica |
Copia
|
|
costante di data |
Copia
|
|
costante di ora |
Copia
|
|
costante Indicatore data e ora |
Copia
|
|
colonna di testo |
Copia
|
|
colonna numerica |
Copia
|
|
colonna data |
Copia
|
|
colonna ora |
Copia
|
|
colonna Indicatore data e ora |
Copia
|
|
colonna BLOB |
Copia
Nota Un BLOB è un campo Contenitore di un file di database FileMaker Pro. |
|
carattere jolly* |
Copia
|
Note sugli esempi
Una colonna è un riferimento a un campo nel file di database FileMaker Pro (il campo può contenere molti valori distinti).
Il carattere jolly asterisco (*) rappresenta "tutto". Per l'esempio SELECT * FROM Venditori, il risultato comprende tutte le colonne nella tabella Venditori. Per l'esempio SELECT DISTINCT * FROM Venditori, il risultato è costituito da tutte le righe uniche nella tabella Venditori (senza duplicati).
-
Il software FileMaker non memorizza dati per stringhe vuote, quindi le seguenti query non restituiscono mai record:
CopiaSELECT * FROM test WHERE c = ' '
SELECT * FROM test WHERE c <> ' ' -
Se si usa
SELECTcon dati binari, è necessario utilizzare la funzioneRicavaCome()per specificare il flusso da restituire. Vedere Recupero dei contenuti di un campo Contenitore: funzione CAST() e funzione RicavaCome() per ulteriori informazioni.
Recupero dei contenuti di un campo Contenitore: funzione CAST() e funzione RicavaCome()
Da un campo Contenitore si possono recuperare informazioni di riferimento al file, dati binari o dati di un tipo specifico di file.
-
Per recuperare le informazioni di riferimento al file da un campo Contenitore, come il percorso di un file, di un'immagine o di un video, utilizzare la funzione
CAST()con un'istruzioneSELECT. -
Se esistono file o dati binari JPEG, l'istruzione
SELECTconRicavaCome(nome di campo, "JPEG")recupera i dati in forma binaria; in caso contrario, l'istruzioneSELECTcon il nome campo restituisceNULL.
Esempio
Utilizzare la funzione CAST() con un'istruzione SELECT per recuperare le informazioni di riferimento al file.
SELECT CAST (Brochure_Società AS VARCHAR) FROM Dati_Vendite
In questo esempio se:
-
è stato inserito un file nel campo Contenitore utilizzando FileMaker Pro, ma è stato memorizzato solo un riferimento al file, l'istruzione
SELECTrecupera le informazioni di riferimento al file comeSQL_VARCHAR. -
sono stati inseriti i contenuti di un file nel campo Contenitore utilizzando FileMaker Pro, l'istruzione
SELECTrecupera il nome del file. -
è stato importato un file nel campo Contenitore da un'altra applicazione, l'istruzione
SELECTvisualizza '?' (il file viene visualizzato come Senza nome.dat in FileMaker Pro).
È possibile utilizzare l'istruzione SELECT con la funzione RicavaCome() per recuperare i dati in forma binaria nei seguenti modi:
-
Se si utilizza la funzione
RicavaCome()con l'opzioneDEFAULT, viene recuperato il flusso predefinito per il contenitore senza la necessità di definire esplicitamente il tipo di flusso.Esempio
CopiaSELECT RicavaCome(Brochure_Società, DEFAULT) FROM Dati_Vendite
-
Per recuperare un tipo di flusso singolo da un contenitore, utilizzare la funzione
RicavaCome()con il tipo di file basato su come sono stati inseriti i dati nel campo Contenitore in FileMaker Pro.Esempi
Se i dati sono stati inseriti utilizzando il comando Inserisci > File, specificare
'FILE'nella funzioneRicavaCome().CopiaSELECT RicavaCome(Brochure_Società, 'FILE') FROM Dati_VenditeSe i dati sono stati inseriti utilizzando il comando Inserisci > Immagine, trascinandoli oppure incollandoli dagli appunti, specificare uno dei tipi di file elencati nella tabella di seguito, ad esempio
'JPEG'.CopiaSELECT RicavaCome(Logo_Società, 'JPEG ') FROM Icone_SocietàTipo di file
Descrizione
'GIFf'Graphics Interchange Format
'JPEG'Immagini fotografiche
'TIFF'Formato raster del file per immagini digitali
'PDF'Portable Document Format
'PNGf'Formato immagine Bitmap