Come verificare se un record esiste in Oracle

Sebbene SQL (Structured Query Language) per i database si sia dimostrato indispensabile per decenni di utilizzo, le differenze tra le versioni di SQL possono mettere alla prova uno sviluppatore di software. Ad esempio, SQL Server di Microsoft ha una parola chiave “Exists” che consente di verificare facilmente se esiste un record; L’SQL di Oracle non ha questa funzione, ma puoi aggirare il difetto con una programmazione intelligente. Scrivendo un’istruzione “SELECT” con la parola chiave “ROWNUM”, è possibile verificare qualsiasi record in una tabella di database.

1

Fare clic sul pulsante “Start”; vai su “Tutti i programmi”, quindi apri il gruppo “Oracle”. Seleziona “Sviluppo applicazioni”, quindi fai clic su “SQLPlus”. L’utilità SQLPlus mostra il seguente prompt:

SQL>

2

Stabilire una connessione al database digitando un comando “connect” come segue:

connetti user_id @ database_identifier

Premere Invio.” “User_id” è il nome utente del database; “database_identifier” è una stringa di caratteri che specifica un particolare database Oracle. SQL * Plus richiederà la password. Inseriscilo e premi di nuovo “Invio”.

3

Digita un breve programma Oracle, utilizzando il codice seguente come guida:

DECLARE record_exists INTEGER; INIZIA SELEZIONA COUNT (*) IN record_exists FROM your_table WHERE search_field = ‘search value’ AND ROWNUM = 1; IF record_exists = 1 THEN DBMS_OUTPUT.put_line (‘Record Exists’) ELSE DBMS_OUTPUT.put_line (‘Record Does Not Exist’) END IF; FINE;

Nel programma sopra, sostituisci il nome della tabella contenente i record da testare per “tua_tabella”, il campo della tabella che stai testando per “campo_ricerca” e un valore di ricerca per “valore di ricerca”. Nota l’uso di “ROWNUM = 1;” questo limita il numero massimo di record a uno, quindi la variabile “record_exists” può essere zero o uno. Il tuo programma potrebbe essere simile al seguente codice SQL:

DECLARE record_exists INTEGER; INIZIA SELEZIONA COUNT (*) IN record_exists FROM sales_table WHERE state = ‘NY’ AND ROWNUM = 1; IF record_exists = 1 THEN DBMS_OUTPUT.put_line (‘Record Exists’) ELSE DBMS_OUTPUT.put_line (‘Record Does Not Exist’) END IF; FINE;

4

Premere “Invio” per eseguire il comando.