PDA

View Full Version : Oracle PL/SQL problema script


Maruga
17-01-2020, 18:08
Salve a tutti, sto studiando Oracle Sql ed esercitandomi in questo esercizio ho trovato alcune difficoltà, premetto che sto usando lo schema scott che ha alcune tabelle presenti in sistema per fare gli esercizi, ma cambia poco.
Ho scritto una parte di codice ma c'è un concetto che non saprei tradurre in sintassi. Chiedo il vostro aiuto! (tnx)

Il quesito è:
Aggiungere alla tabella EMP una nuova colonna denominata Stars con tipo di dati Varchar2 e lunghezza 50.
Creare un blocco PL/SQL che aggiunga per ogni impiegato un asterisco nella colonna stars per ogni 100$ di stipendio.

Questo è quello che ho scritto io (ps. ho aggiunto un Accept perché se non ce lo mettevo in ogni caso mi chiedeva di inserire un input...)

ALTER TABLE emp ADD (Stars VARCHAR2(50));
ACCEPT impiegato VARCHAR2(12) PROMPT 'Inserire impiegato :'
DECLARE
v_counter NUMBER(2);
v_impiegato emp.ename%TYPE;
v_maxlist
CURSOR c_lista IS
SELECT e.ename, l.ename
FROM emp e, emp l
WHERE e.ename=l.ename;
c_lista
BEGIN
SELECT TRUNC(sal/100)
INTO v_impiegato
FROM emp
WHERE ename=&impiegato;
WHILE v_counter = v_maxlist LOOP
INSERT INTO emp (stars)
VALUES v_impiegato := v_impiegato || '*';
END LOOP
UPDATE emp
SET stars = v_impiegato
WHERE ename = &impiegato;
END;
/