Вы находитесь на странице: 1из 2

1.

MODIFICARE STRUCTURA TABELA


ALTER TABLE emitent MODIFY (localitate VARCHAR (100));
ALTER TABLE emitent modify (denumire NULL);

1.1 VIZ. STRUCTURII UNEI TABELE


DESCRIBE <tabela>

1.2 ADAUGARE COMENTARII


COMMENT ON TABLE/ON COLUMN emitent.cui IS �Cui-ul sociecietatii�
SLECT * FOM USER_TAB_COMMENTS;

1.3 RENAME TABLE/COLUMN


SET UNUSED - DROP UNUSED COLUMNS
DROP TABLE Test;
FLASHBACK TABLE Tesc TO BEFORE DROP;
TRUNCATE TABLE Tesc - sterge doar inreg.
DROP TABLE Test PURGE - sterge tot.

2.Adaugare constrangere unicitate/validare


ALTER TABLE emitent ADD(CONSTRAINT denumire_unic UNIQUE (denumire));

ALTER TABLE emitent ADD(CONSTRAINT cui_valid CHECK (cui>100 AND cui<500));

3. Creare index [unic]


CREATE [UNIQUE] INDEX data_list_idx on ACTIUNE (data_listarii desc);

DROP INDEX data_list_idx;

4. Sterge mai multe care au cea mai mica in alta tabela


DELETE FROM cotatii_recente
WHERE cod in(SELECT cod from actiune where val_nominala=(SELECT MIN(val_nominala)
FROM ACTIUNE));

5. Functii agregate cu GROUP BY/HAVING/ORDER


SELECT cod, SUM(nr_actiuni) numar_actiuni, AVG(curs) medie_curs
FROM cotatii
GROUP BY cod
HAVING SUM(nr_actiuni)>36000
ORDER BY SUM(nr_actiuni) DESC;

SELECT c.cod, e.denumire, SUM(nr_actiuni) numar_actiuni, AVG(curs) medie_curs


FROM cotatii c INNER JOIN emitent e ON c.cod=e.cod
GROUP BY c.cod, e.denumire
HAVING SUM(nr_actiuni)>36000
ORDER BY SUM(nr_actiuni) DESC;

CUBE, ROLLUP ?i GROUPING SETS - totaluri, subtotaluri

6. CREARE VIEW DOAR DE CITIT


CREATE OR REPLACE VIEW final_view AS
SELECT e.cod,e.denumire,e.localitate FROM emitent e
INNER JOIN actiune a ON a.cod=e.cod
WHERE e.localitate='Cluj' or e.localitate='Bucuresti' AND a.val_nominala>=0.1
WITH READ ONLY CONSTRAINT doar_citire2;

WHERE sex='F'
WITH CHECK OPTION-> se pot insera in vedere doar F

7.CREARE TABEL PE BAZA ALTUI TABEL + MERGE


CREATE TABLE cotatii_22
AS SELECT * FROM cotatii
WHERE data_cotatie=TO_DATE('22/05/2015','DD/MM/YYYY');

MERGE INTO cotatii_22 USING cotatii


ON (cotatii_22.cod=cotatii.cod AND cotatii_22.data_cotatie=cotatii.data_cotatie)
WHEN MATCHED THEN UPDATE SET (cotatii_22.NR_ACTIUNI=cotatii.NR_ACTIUNI,
cotatii_22.CURS=cotatii.CURS)
WHEN NON MATCHED THEN INSERT VALUES
(cotatii.DATA_COTATIE,cotatii.NR_ACTIUNI,cotatii.CURS,cotatii.COD);

8.CREARE ROL ATRIBUIRE DREPTURI /sterge


CREATE ROLE rol_aproviz;
GRANT UPDATE, INSERT, DELETE(tabela) ON producator TO rol_aproviz; (DR OBIECT)
GRANT CREATE TABLE, CREATE PROCEDURE, CREATE TRIGGER TO rol_aproviz (DR SISTEM)
REVOKE CREATE PROCEDURE FROM aprov;
REVOKE UPDATE(disciplina) ON tab_profesor FROM aprov;

9.CREARE USER SI ATRIBUIRE ROL


CREATE USER gestionar_aprovizionare IDENTIFIED BY 123;
ALTER USER STUDENT IDENTIFIED BY studinfo/NOT IDENTIFIED(fara parola);//modif
parola
GRANT rol_aproviz TO gestionar_aprovizionare;

1. USER_SYS_PRIVS � contine toate drepturile de sistem acordate utilizatorului;


2. USER_ROLE_PRIVS � contine toate rolurile acordate utilizatorilor;
3. USER_TAB_PRIVS_RECD � contine toate drepturile la nivel de obiect acordate
utilizatorului;
4. USER_COL_PRIVS_RECD - contine toate drepturile la nivel de coloana acordate
utilizatorului;
5. USER_TAB_PRIVS_MADE � contine drepturile la nivel de obiect acordate asupra
obiectelor utilizatorului;
6. USER_COL_PRIVS_MADE - contine toate drepturile la nivel de coloana acordate
asupra obiectelor utilizatorului;
7. USER_INDEXES
8. USER_CONSTRAINTS
9.USER_TABLES
----VEDERI ALE DICT DE DATE
10. USER_RECYCLEBIN

Вам также может понравиться