Oracle PL/SQL

I jos jedno, svjeze, od maloprije :slight_smile:

Ako imam recimo kolonu salary, u tabeli bonus u kojoj vec ima bruka linija i sada mi treba constraint CHECK ali samo za tu kolonu, postoji li nacin da dodam taj constraint na column nivou?
Recimo, hocu da uvijek provjeravam da mi je salary veci od bonusa. Mogu definisati constraint na nivou tabele:

ALTER TABLE bonus ADD CONSTRAINT chk_bonus CHECK (salary > bonus);

Zanima me mogu li ovo uraditi na column nivou za vec postojecu kolonu?

[quote=Amar]Novo pitanje:

kada se kolona oznaci kao unused sa:

ALTER TABLE tablename SET UNUSED COLUMN kolona;

postoji li nacin da. umjesto da je dropam, vratim u tabelu? Probao sam ROLLBACK, ali kolona i dalje nije u tabeli.

EDIT: Logicno je da ROLLBACK ne radi jer je ALTER DDL Statement koji ima implicit COMMIT…[/quote]

flashback & undo > dml + ddl
rollback > dml naravno prije toga moras napraviti save point a i da ga napravis ne funkcionise ne radi commita jer rollback odcommita ali ne ddl samo transakcione promjene ili dml

[quote=Amar]I jos jedno, svjeze, od maloprije :slight_smile:

Ako imam recimo kolonu salary, u tabeli bonus u kojoj vec ima bruka linija i sada mi treba constraint CHECK ali samo za tu kolonu, postoji li nacin da dodam taj constraint na column nivou?
Recimo, hocu da uvijek provjeravam da mi je salary veci od bonusa. Mogu definisati constraint na nivou tabele:

ALTER TABLE bonus ADD CONSTRAINT chk_bonus CHECK (salary > bonus);

Zanima me mogu li ovo uraditi na column nivou za vec postojecu kolonu?[/quote]

http://docs.oracle.com/cd/B19306_01/server.102/b14200/clauses002.htm

Jedno glupo pitanje,

Zasto je kod ovog queryja:

DELETE FROM sales;

tacna ova izjava:

It removes all the rows in the table and deleted rows can be rolled back

Zar DELETE nije DML statement koji ima implicit COMMIT?

[quote=Amar]Jedno glupo pitanje,

Zasto je kod ovog queryja:

DELETE FROM sales;

tacna ova izjava:

It removes all the rows in the table and deleted rows can be rolled back

Zar DELETE nije DML statement koji ima implicit COMMIT?[/quote]

Ne treba odgovor, skontao…

Bio sam u pravu, glupo pitanje.

DDL statements imaju implicit COMMIT, DML nemaju. Ergo, nakon DELETE statementa se unutar transakcije moze odraditi ROLLBACK.

Isprica se ti fino sa sobom :smiley:

[quote=Amar][quote=Amar]Jedno glupo pitanje,

Zasto je kod ovog queryja:

DELETE FROM sales;

tacna ova izjava:

It removes all the rows in the table and deleted rows can be rolled back

Zar DELETE nije DML statement koji ima implicit COMMIT?[/quote]

Ne treba odgovor, skontao…

Bio sam u pravu, glupo pitanje.

DDL statements imaju implicit COMMIT, DML nemaju. Ergo, nakon DELETE statementa se unutar transakcije moze odraditi ROLLBACK.[/quote]

zar nisam odgovorio na ovo :slight_smile: znaci dml = DATA MANIPULATION LANGUAGE aka insert, delete, update cak i select , DDL = DATA DEFINITION LANGUAGE aka promjena baze, shema, objekata, TCL = TRANSACION CONTROL LANGUAGE aka commit, rollback, savepoint, DCL = DATA CONTROL LAGUAGE aka grant, revoke

dml sejfas vracas sa savepoint/rollback
ddl promjene vracas iz flashback ili recovery

ma skontao sam :slight_smile:

vidis da sama napisao da sam skontao