You are on page 1of 7

CREATE TABLE firme2

(codfirma NUMBER(2) CONSTRAINT pk_firme PRIMARY KEY,


denfirma VARCHAR2(20) CONSTRAINT den_firma NOT NULL,
localitate VARCHAR2(20),
zona VARCHAR2(15) CONSTRAINT ck_zona CHECK (zona IN ('Moldova',
'Ardeal','Banat','Muntenia','Dobrogea')));

CREATE TABLE agenti2(


codagent VARCHAR2(3) CONSTRAINT pk_agent PRIMARY KEY,
numeagent VARCHAR2(25)CONSTRAINT n_agent NOT NULL,
dataang DATE DEFAULT SYSDATE,
datanasterii DATE NOT NULL,
functia VARCHAR2(30) NOT NULL,
codfirma NUMBER(2) CONSTRAINT fk_agenti REFERENCES firme2(codfirma));

DROP TABLE agenti2 CASCADE CONSTRAINTS PURGE;

CREATE TABLE fosti_agenti


AS
SELECT codagent, numeagent, functia, codfirma FROM agenti2;
SELECT * FROM fosti_agenti;

ALTER TABLE agenti2 RENAME TO personal;


RENAME personal2 TO personal;

ALTER TABLE personal


ADD ( email VARCHAR(20), varsta NUMBER(2));
SELECT * FROM personal;

ALTER TABLE personal


MODIFY (email VARCHAR2(30));

ALTER TABLE personal


DROP COLUMN email;

ALTER TABLE personal


SET UNUSED COLUMN functia;

ALTER TABLE personal


DROP UNUSED COLUMNS;

ALTER TABLE personal


ADD CONSTRAINT check_varsta CHECK (varsta>18 and varsta<50);

ALTER TABLE personal


DISABLE CONSTRAINT check_varsta;

ALTER TABLE personal


ENABLE CONSTRAINT check_varsta;

ALTER TABLE personal


DROP CONSTRAINT check_varsta;

DROP TABLE personal CASCADE CONSTRAINTS;


FLASHBACK TABLE personal TO BEFORE DROP;
TRUNCATE TABLE personal;

--VIZUALIZAREA TUTUROR TABELELOR UTILIZATORULUI CURENT:

SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME='personal';

DROP TABLE personal CASCADE CONSTRAINTS;


DROP TABLE firme2 CASCADE CONSTRAINTS;

FLASHBACK TABLE personal TO BEFORE DROP;

ALTER TABLE personal


DROP COLUMN varsta;

SELECT * FROM personal;

CREATE TABLE salariati AS SELECT * FROM angajati WHERE 2=3;

INSERT INTO salariati (id_angajat, nume, salariul) VALUES


(207, 'iONESCU', 4000);

SELECT * FROM SALARIATI;

INSERT INTO salariati SELECT * FROM angajati


WHERE id_departament IN (20,30,50);

SELECT * FROM salariati;

COMMIT;

--DATE INTRODUSE DE LA TASTATURA:

INSERT INTO salariati (id_angajat, nume, data_angajare, salariul)


VALUES ('&id_angajat', '&nume', TO_DATE ('&data_angajare','mon dd, yyyy'),
'&salariul');

UPDATE salariati
SET salariul = salariul +100
WHERE salariul < 3000 AND comision IS NULL;

UPDATE salariati
SET (salariul, comision) = (SELECT salariul, comision FROM angajati WHERE
id_angajat=167)
WHERE salariul<(SELECT salariul FROM angajati WHERE id_angajat=173) AND
id_departament=50;

DELETE FROM salariati


WHERE id_manager IN (122,123);

DELETE FROM salariati


WHERE data_angajare<TO_DATE('01-01-1999','DD-MM-YYYY');

DELETE FROM SALARIATI;


ROLLBACK;
SELECT * FROM SALARIATI;

TRUNCATE TABLE salariati;


SELECT * FROM SALARIATI;
ROLLBACK;
DELETE FROM SALARIATI;
SELECT * FROM SALARIATI;
ROLLBACK;

DROP TABLE SALARIATI;

CREATE TABLE salariati AS SELECT * FROM angajati WHERE 2=3;

INSERT INTO salariati SELECT * FROM angajati WHERE id_departament


IN (20,30,50);

MERGE INTO salariati USING angajati


ON(salariati.id_angajat=angajati.id_angajat)

WHEN MATCHED THEN


UPDATE SET salariati.salariul=angajati.salariul
WHEN NOT MATCHED THEN
INSERT (id_angajat, nume, salariul) VALUES (angajati.id_angajat, angajati.nume,
angajati.salariul);

SELECT COUNT (*) FROM salariati;


SELECT COUNT (*) FROM salariati;
COMMIT;

DROP TABLE firme2 CASCADE CONSTRAINTS;

SELECT * FROM salariati;

CREATE TABLE Dep(


ID NUMBER(7) CONSTRAINT pk_id PRIMARY KEY,
Denumire VARCHAR2(25));

INSERT INTO Dep SELECT id_departament, denumire_departament


FROM departamente;

SELECT * FROM Departamente;

ALTER TABLE departamente


ADD( varsta NUMBER(2));
rollback;
select * from dep;

CREATE TABLE ang(


ID NUMBER(7) CONSTRAINT pk_idang PRIMARY KEY,
prenume VARCHAR2(25),
nume VARCHAR2(25),

dep_id NUMBER(7) CONSTRAINT fk_dep REFERENCES dep(id)


);

ALTER TABLE ang


ADD (varsta NUMBER(2));
select * from ANG;

ALTER TABLE ang


ADD constraint ck_varsta CHECK (varsta>18 and varsta<65);
rollback;

ALTER TABLE ang


ADD CONSTRAINT verifica_varsta CHECK (varsta>18 and varsta<65);

ALTER TABLE ang


DISABLE CONSTRAINT VERIFICA_VARSTA;

ALTER TABLE ang


MODIFY NUME VARCHAR2(30);

RENAME ANG TO ANG2;

DROP TABLE SALARIATI CASCADE CONSTRAINTS;


CREATE TABLE SALARIATI AS SELECT * FROM ANGAJATI;
SELECT * FROM SALARIATI;

INSERT INTO salariati (id_angajat, nume, data_angajare) VALUES


(207, 'iONESCU', TO_DATE('17-06-1987','DD-MM-YYYY'));

SELECT * FROM SALARIATI;

UPDATE salariati
SET prenume = 'John' WHERE id_angajat = 198;

UPDATE salariati
SET email = 'JHAAN' WHERE id_angajat = 198;
SELECT * FROM SALARIATI;

UPDATE salariati
SET SALARIUL=0.1*SALARIUL+SALARIUL WHERE SALARIUL<20000;

UPDATE salariati
SET id_functie='AD_PRES' where id_angajat=199;
SELECT * FROM SALARIATI;

UPDATE salariati
SET comision=(SELECT comision From angajati where id_angajat=175)
where id_angajat=176;

SELECT * FROM SALARIATI;

DELETE FROM SALARIATI WHERE ID_ANGAJAT=198;

You might also like