Avatar billede carlos123 Nybegynder
08. juli 2004 - 15:31 Der er 7 kommentarer og
1 løsning

Drop database if exists spg.

Hej eksperter

Er det muligt at tjekke om en database eksisterer, og derefter slette den, hvis den gør?

mvh Carl
Avatar billede arne_v Ekspert
08. juli 2004 - 15:39 #1
Jeg har aldrig set det brugt med databaser.

Det er helt normalt med tabeller.

Eksempel:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[T1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[T1]
GO

Men databaserne er i sysdatabases tabellen i master databasen, så det må du kunne teste på.
Avatar billede arne_v Ekspert
08. juli 2004 - 15:41 #2
if exists(select * from sysdatabases where name='testdb')
drop database testdb
go

men det er heftigt
Avatar billede carlos123 Nybegynder
08. juli 2004 - 15:47 #3
Hej Arne
Hvad mener du med at det er heftigt?

Mvh Carl
Avatar billede arne_v Ekspert
08. juli 2004 - 15:53 #4
Al slette en hel database - og formoder jeg genoprette den med data og log filer.
Avatar billede powernodes Nybegynder
08. juli 2004 - 16:02 #5
Jeg er helt på linje med arne_v.
Uden at kende formålet, gætter jeg på at du vil kunne "genoprette" en database med rettet struktur etc.

Så rent performancemæssigt skulle du måske istedet overveje at synkronisere op imod et db schema, og derefter rette til

!-- new operation
ALTER TABLE [dbo].[DBItem]
    DROP CONSTRAINT xxx

..etc etc

Men som sagt, hvad er formålet?
Avatar billede carlos123 Nybegynder
08. juli 2004 - 16:29 #6
Formålet er at jeg skal slette en database hvis den eksister, dette sker udfra et script fil, problemet er at jeg ikke gider at dele mit script op i flere dele, altså en del der tjekker om databasen eksisterer, hvis den gør dette skal den slette, så en del der derefter opretter en ny db.

håber det er nok svar :-)

mvh Carl
Avatar billede arne_v Ekspert
08. juli 2004 - 18:15 #7
Brug mit 15:41:32 kode fragment.

Eller ret databasen til i.s.f. at slette og genoprette den.
Avatar billede carlos123 Nybegynder
08. juli 2004 - 22:34 #8
Tak for hjælpen, it works like a charm :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester