Seleziona per primo
Struttura
SelectFirst(sSQL): Stringa:
Tipo
Funzione
Descrizione
Questa funzione modifica il testo SQL in modo che restituisca solo il primo record nel set di risultati. La sintassi SQL varia a seconda che si tratti di MSSQL, FIREBIRD o ORACLE; è quindi utile ricorrere a questa funzione piuttosto che ricorrere a un codice fisso per un solo tipo di database. In questo modo, se la configurazione viene sincronizzata con un tipo di database diverso, il codice SQL continuerà a funzionare correttamente. Ad esempio, se avessi questa funzione:
SelectFirst("SELECT GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN")
In tal caso, un client del database FIREBIRD restituirebbe questo testo:
SELECT PRIMO 1 GAGE_SN DA GAGES DOVE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN
Un client del database MSSQL restituirebbe questo testo:
SELECT TOP 1 GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN
Un client del database ORACLE restituirebbe questo testo:
SELECT GAGE_SN FROM (SELECT GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN) WHERE ROWNUM = 1
IMPORTANTE: affinché questa funzione funzioni, il codice SQL fornito DEVE iniziare con il testo «SELECT » e includere una clausola «ORDER BY»; in caso contrario, il testo restituito sarà semplicemente una copia del codice SQL originale.
Parametri: 1
sSQL = il codice SQL originale
Valore restituito
Stringa
Esempio
se tdDoSQLRecords(1, SelectFirst("SELECT GAGE_SN FROM GAGES WHERE COMPANY = 'ABC COMPANY' ORDER BY COMPANY, GAGE_SN")) allora
ShowMessage("Primo record = " & tdFieldByNameAsString(1, "GAGE_SN"))
Fine Se |