|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 173
|
[PL-SQL] trigger sulle date
Salve, devo definire il seguente vincolo dinamico:
Non si puo' aumentare lo stipendio di un dipendente che lavora da meno di 1 anno nell'azienda CREATE TABLE PERSONALE( CODICE_IMPIEGATO CHAR(5) PRIMARY KEY, STIPENDIO FLOAT NOT NULL, DATA_ASSUNZIONE DATE NOT NULL); questa è la tabella (riporto solo gli attributi interessati) qui i miei dubbi: all'inizio pensavo di fare un trigger, poi ho pensato che mi servisse il codice dell'impiegato a cui si vuole aumentare lo stipendio per ricercare la sua data di assunzione (è una stupidaggine?) allora stavo provando con una procedura. p.s. si puo' inserire un trigger in una procedura? (domanda da 1000000 di euro) Codice:
CREATE OR REPLACE PROCEDURE AUMENTA_SALARIO (PARAMETRO1 CHAR, PARAMETRO2 FLOAT) IS DAT DATE; INVALID_SALARIO EXCEPTION; FLAG BOOLEAN:=FALSE; BEGIN SELECT DATA_DI_ASSUNZIONE INTO DAT FROM PERSONALE WHERE CODICE_IMPIEGATO=PARAMENTRO1; IF SYSDATE-DAT>= ???? FLAG:=TRUE; ELSE :NEW.STIPENDIO=PARAMETRO2; END IF; IF NOT FLAG THEN RAISE INVALID_SALARIO; END IF; EXCEPTION WHEN INVALID_SALARIO THEN RAISE_APPLICATION_ERROR(-20007, 'impossibile inserire salario'); END; Grazie 1000 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:32.



















