[Oracle] PL/SQL: Accettare un input da tastiera

Rispondi
Roberto
Amministratore
Messaggi: 160
Iscritto il: 19/12/2009, 19:30

[Oracle] PL/SQL: Accettare un input da tastiera

Messaggio da Roberto »

Vogliamo scrivere uno script che accetta un dato in input scritto dall'utente tramite tastiera per poterlo utilizzare nell'esecuzione di una query SQL. Per fare questo si utilizza il simbolo "&" anteposto al nome di una variabile da utilizzare all'interno del codice e definita di solito "substitution variable":

Codice: Seleziona tutto

DECLARE
    dip_contatore NUMBER;
    dip_area NUMBER := &area;
    nome_area VARCHAR2(64);
BEGIN
    SELECT COUNT(*)
    INTO dip_contatore
    FROM dipendente
    WHERE area = dip_area;
    
    SELECT nome
    INTO nome_area
    FROM area
    WHERE id_area = dip_area;
    
    DBMS_OUTPUT.PUT_LINE('L''area ' || nome_area || ' e'' formata da ' || dip_contatore || ' dipendenti');
END;
Questo script non fa altro che ricevere in input l'ID riferito ad una ipotetica area aziendale e restituire il numero di dipendenti che fanno parte di quella data area.

E' importante ricordare che nel caso in cui la substitution variable debba leggere un dato di tipo Stringa, essa va scritta all'interno di virgolette singole:

Codice: Seleziona tutto

dip_area NUMBER := '&area';
Roberto Basile
Rispondi