Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 3.127 pregleda

Najnovija ↓

Brisanje svih tabela 13.08.2010. u 12:53 · pre 197 meseci #1
Cao,

Hteo bih da jednom sql komandom ili upitom obrisem sve tabele u bazi, ali da ne obrisem bazu jer zelim da sacuvam sve stored procedures, sve view-ove i sl.

Dakle nesto kao DROPP ALL TABLES (sto ne postoji)

Imate li ideju?
Re: Brisanje svih tabela 13.08.2010. u 13:52 · pre 197 meseci #2
nema takve komande, moras da enumerirses sve objekte tipa tabela i da ih dropujes ednu po jednu u petlji
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Brisanje svih tabela 13.08.2010. u 13:54 · pre 197 meseci #3
Ili drop database.
Potpis
ERROR974
Re: Brisanje svih tabela 13.08.2010. u 14:02 · pre 197 meseci #4
Probaj ovo

Code (sql):
DECLARE
@SQL VARCHAR(4000),
@int_counter INT,
@int_max INT

DECLARE @TABLES TABLE(
ident INT IDENTITY(1,1) PRIMARY KEY,
TABLE VARCHAR(256))

INSERT @TABLES(TABLE)
SELECT name FROM sysobjects WHERE xtype = 'U'

SELECT
@int_counter = 1,
@int_max = (SELECT MAX(ident) FROM @TABLES))

WHILE @int_counter <= @int_max
BEGIN

SELECT @SQL = 'DELETE ' + TABLE
FROM @TABLES WHERE ident = @int_counter

SELECT @int_counter = @int_counter + 1
END
 


Ovo ce raditi samo ako nemas foreign keys i ne zezaj se sa sistemskim bazama(sysobjects), opasno je.
P.S.
Ne odgovaram za posledice ovog skripta :)

ovo sam nasao na dbforumu.
Potpis
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
Re: Brisanje svih tabela 13.08.2010. u 14:46 · pre 197 meseci #5
Citat:
HermanBG: Hteo bih da jednom sql komandom ili upitom obrisem sve tabele u bazi, ali da ne obrisem bazu jer zelim da sacuvam sve stored procedures, sve view-ove i sl.


Ono sto bih ti ja preporucio je da scriptujes bazu (ako koristis SSMS kliknes desnim na bazu Tasks -> Generate Scripts...) koja ti uvek moze biti korisna ako hoces da pocistis bazu. Nakon toga drop-ujes bazu i rekreiras sve iz scripta.

Kod koji ti je AMD dao ce raditi samo ako nemas nikakvih constraint-a na tabelama, nemas triggera i sl. Ukoliko ih imas oni ce biti obrisani zajedno sa tabelama (pretpostavljam da to ne zelis). Takodje imaju vidu da ce ti taj drop napuniti transaction log. U slucaju da imas spoljnih kljuceva kod uopste nece raditi.
Potpis
Every hamster has his day.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme