Da li je moguće izbrisati sve vrednosti kolona iz tabele preko određenog reda? Da pojasnim... ukoliko sve kolone u tabeli imaju po 500 redova, da li je moguće izbrisati recimo sve redove preko 200? U pitanju je SQL, a ja sam totalni početnik. Da li SQL uopšte ima pojam o tome u kom se redu nalaze neki podaci ili bi morao da zadam novu kolonu sa rednim brojevima kako bi manipulisao podacima na taj način?
Brisanje vrednosti kolona iz tabele preko određenog reda?
Zaključano
Zakačeno
Može se, ali je pitanje da li su to ti podaci koje ti želiš izbrisati. Svaka tablica mora imati svoj primarni ključ (primary key) i po tome bi trebalo brisati podatke.
Potpis
F
Podaci u tabelama su tipa hrpa, tako da SELECT ne mora uvek da prikaze isti redosled. U principu treba da zaboravis pojmove sledeci i prethodni jer ne idu sa tim. Ali ako ti to treba napravis polje u koje upises nesto tipa redni broj i koristis.
Potpis
Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
Hvala na odgovorima.
Dodala bih da, eventualno, ako ti bas treba u principu mozes da radis nesto poput
delete from tabela t1
where exists (
select first 200 skip 100
*
from tabela t2
where t2.ID=t1.ID -- plus sta god da ti je jos uslov, malo je drugacije ako su tabele razlicite, spajas po polju koje nad kojim je strani kljuc
)
(ovo je sintaksa firebirda, ali verujem da moze u bilo kom rdbms slicno da se uradi - ono sto se desava jeste da u pod upitu unutar exists selektujes ono sto hoces da obrises, a spajanjem t2.ID=t1.ID u stvari brises tih 200 redova)
svakako treba da vodis racuna o indeksima, radi performansi.
delete from tabela t1
where exists (
select first 200 skip 100
*
from tabela t2
where t2.ID=t1.ID -- plus sta god da ti je jos uslov, malo je drugacije ako su tabele razlicite, spajas po polju koje nad kojim je strani kljuc
)
(ovo je sintaksa firebirda, ali verujem da moze u bilo kom rdbms slicno da se uradi - ono sto se desava jeste da u pod upitu unutar exists selektujes ono sto hoces da obrises, a spajanjem t2.ID=t1.ID u stvari brises tih 200 redova)
svakako treba da vodis racuna o indeksima, radi performansi.