Supprimer toutes les tables d'une base SQL Server 2000 ?
3 réponses
Thierry Frache [MVP]
Bonjour,
autant je me débrouille avec les systèmes Windows 2000/2003, autant je ne
connais que très très peu de choses sur SQL Server 2000. Dans l'immédiat, je
souhaiterais supprimer toutes les tables d'une base SQL sans supprimer et
recréer la base (je n'ai pas les droits pour réaliser la
suppression/création de la base). J'ai regardé du côté du menu Tools,
Generate SQL Script en choisissant de faire un DROP sur toutes les tables
mais malgré que le script s'exécute sans erreur, les tables subsistent
toujours!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
Il faut le faire dans l'ordre inverse des imbrications d'intégrité référentielles.
Tu trouvera la liste de ces dernières dans les tabes d'information de schema SELECT * FROM INFORMATION_SCHEMA. ???
A +
Thierry Frache [MVP] a écrit:
Bonjour,
autant je me débrouille avec les systèmes Windows 2000/2003, autant je ne connais que très très peu de choses sur SQL Server 2000. Dans l'immédiat, je souhaiterais supprimer toutes les tables d'une base SQL sans supprimer et recréer la base (je n'ai pas les droits pour réaliser la suppression/création de la base). J'ai regardé du côté du menu Tools, Generate SQL Script en choisissant de faire un DROP sur toutes les tables mais malgré que le script s'exécute sans erreur, les tables subsistent toujours!
Merci d'avance de votre aide!
Thierry
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
Il faut le faire dans l'ordre inverse des imbrications d'intégrité
référentielles.
Tu trouvera la liste de ces dernières dans les tabes d'information de schema
SELECT * FROM INFORMATION_SCHEMA. ???
A +
Thierry Frache [MVP] a écrit:
Bonjour,
autant je me débrouille avec les systèmes Windows 2000/2003, autant je ne
connais que très très peu de choses sur SQL Server 2000. Dans l'immédiat, je
souhaiterais supprimer toutes les tables d'une base SQL sans supprimer et
recréer la base (je n'ai pas les droits pour réaliser la
suppression/création de la base). J'ai regardé du côté du menu Tools,
Generate SQL Script en choisissant de faire un DROP sur toutes les tables
mais malgré que le script s'exécute sans erreur, les tables subsistent
toujours!
Merci d'avance de votre aide!
Thierry
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
Il faut le faire dans l'ordre inverse des imbrications d'intégrité référentielles.
Tu trouvera la liste de ces dernières dans les tabes d'information de schema SELECT * FROM INFORMATION_SCHEMA. ???
A +
Thierry Frache [MVP] a écrit:
Bonjour,
autant je me débrouille avec les systèmes Windows 2000/2003, autant je ne connais que très très peu de choses sur SQL Server 2000. Dans l'immédiat, je souhaiterais supprimer toutes les tables d'une base SQL sans supprimer et recréer la base (je n'ai pas les droits pour réaliser la suppression/création de la base). J'ai regardé du côté du menu Tools, Generate SQL Script en choisissant de faire un DROP sur toutes les tables mais malgré que le script s'exécute sans erreur, les tables subsistent toujours!
Merci d'avance de votre aide!
Thierry
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
TINANT Hervé \(alias CrazyHT\)
Regarde le code suivant. Il ne gere que les objet de base mais en remplacant les print par des sp_executesql ca devrait le faire. Pour les autres objets regarde la doc. La c'est juste un point de depart.
P.S. : Je n'ai pas tester le codes avec l'appel a sp_executesql mais ca doit tourner.
use Northwind
Declare @constraint sysname Declare @contcat sysname Declare curcont cursor for SELECT TABLE_NAME,CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE open curcont fetch curcont into @contcat ,@constraint while @@fetch_status >= 0 Begin PRINT 'ALTER TABLE ' + @contcat + ' DROP CONSTRAINT ' + @constraint fetch curcont into @contcat ,@constraint End CLOSE curcont Deallocate curcont
Declare @TableName sysname Declare @TableType varchar(10) Declare cur cursor for SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE LEFT(TABLE_NAME,3)<>'sys' open cur fetch cur into @TableName,@TableType while @@fetch_status >= 0 Begin IF (@TableType='VIEW') PRINT 'DROP VIEW ' + @TableName ELSE PRINT 'DROP TABLE ' + @TableName fetch cur into @TableName,@TableType END CLOSE cur DEALLOCATE cur
Crazyht MVP Visual C#.NET http://www.csharpfr.com
"Fred BROUARD" a écrit dans le message de news:
Il faut le faire dans l'ordre inverse des imbrications d'intégrité référentielles.
Tu trouvera la liste de ces dernières dans les tabes d'information de
schema
SELECT * FROM INFORMATION_SCHEMA. ???
A +
Thierry Frache [MVP] a écrit: > Bonjour, > > autant je me débrouille avec les systèmes Windows 2000/2003, autant je
ne
> connais que très très peu de choses sur SQL Server 2000. Dans
l'immédiat, je
> souhaiterais supprimer toutes les tables d'une base SQL sans supprimer
et
> recréer la base (je n'ai pas les droits pour réaliser la > suppression/création de la base). J'ai regardé du côté du menu Tools, > Generate SQL Script en choisissant de faire un DROP sur toutes les
tables
> mais malgré que le script s'exécute sans erreur, les tables subsistent > toujours! > > Merci d'avance de votre aide! > > Thierry > >
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
Regarde le code suivant. Il ne gere que les objet de base mais en remplacant
les print par des sp_executesql ca devrait le faire. Pour les autres objets
regarde la doc. La c'est juste un point de depart.
P.S. : Je n'ai pas tester le codes avec l'appel a sp_executesql mais ca doit
tourner.
use Northwind
Declare @constraint sysname
Declare @contcat sysname
Declare curcont cursor for SELECT TABLE_NAME,CONSTRAINT_NAME FROM
INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
open curcont
fetch curcont into @contcat ,@constraint
while @@fetch_status >= 0
Begin
PRINT 'ALTER TABLE ' + @contcat + ' DROP CONSTRAINT ' + @constraint
fetch curcont into @contcat ,@constraint
End
CLOSE curcont
Deallocate curcont
Declare @TableName sysname
Declare @TableType varchar(10)
Declare cur cursor for SELECT TABLE_NAME, TABLE_TYPE FROM
INFORMATION_SCHEMA.TABLES WHERE LEFT(TABLE_NAME,3)<>'sys'
open cur
fetch cur into @TableName,@TableType
while @@fetch_status >= 0
Begin
IF (@TableType='VIEW')
PRINT 'DROP VIEW ' + @TableName
ELSE
PRINT 'DROP TABLE ' + @TableName
fetch cur into @TableName,@TableType
END
CLOSE cur
DEALLOCATE cur
Crazyht
MVP Visual C#.NET
http://www.csharpfr.com
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
news:4022BBE7.4080309@club-internet.fr...
Il faut le faire dans l'ordre inverse des imbrications d'intégrité
référentielles.
Tu trouvera la liste de ces dernières dans les tabes d'information de
schema
SELECT * FROM INFORMATION_SCHEMA. ???
A +
Thierry Frache [MVP] a écrit:
> Bonjour,
>
> autant je me débrouille avec les systèmes Windows 2000/2003, autant je
ne
> connais que très très peu de choses sur SQL Server 2000. Dans
l'immédiat, je
> souhaiterais supprimer toutes les tables d'une base SQL sans supprimer
et
> recréer la base (je n'ai pas les droits pour réaliser la
> suppression/création de la base). J'ai regardé du côté du menu Tools,
> Generate SQL Script en choisissant de faire un DROP sur toutes les
tables
> mais malgré que le script s'exécute sans erreur, les tables subsistent
> toujours!
>
> Merci d'avance de votre aide!
>
> Thierry
>
>
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
Regarde le code suivant. Il ne gere que les objet de base mais en remplacant les print par des sp_executesql ca devrait le faire. Pour les autres objets regarde la doc. La c'est juste un point de depart.
P.S. : Je n'ai pas tester le codes avec l'appel a sp_executesql mais ca doit tourner.
use Northwind
Declare @constraint sysname Declare @contcat sysname Declare curcont cursor for SELECT TABLE_NAME,CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE open curcont fetch curcont into @contcat ,@constraint while @@fetch_status >= 0 Begin PRINT 'ALTER TABLE ' + @contcat + ' DROP CONSTRAINT ' + @constraint fetch curcont into @contcat ,@constraint End CLOSE curcont Deallocate curcont
Declare @TableName sysname Declare @TableType varchar(10) Declare cur cursor for SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE LEFT(TABLE_NAME,3)<>'sys' open cur fetch cur into @TableName,@TableType while @@fetch_status >= 0 Begin IF (@TableType='VIEW') PRINT 'DROP VIEW ' + @TableName ELSE PRINT 'DROP TABLE ' + @TableName fetch cur into @TableName,@TableType END CLOSE cur DEALLOCATE cur
Crazyht MVP Visual C#.NET http://www.csharpfr.com
"Fred BROUARD" a écrit dans le message de news:
Il faut le faire dans l'ordre inverse des imbrications d'intégrité référentielles.
Tu trouvera la liste de ces dernières dans les tabes d'information de
schema
SELECT * FROM INFORMATION_SCHEMA. ???
A +
Thierry Frache [MVP] a écrit: > Bonjour, > > autant je me débrouille avec les systèmes Windows 2000/2003, autant je
ne
> connais que très très peu de choses sur SQL Server 2000. Dans
l'immédiat, je
> souhaiterais supprimer toutes les tables d'une base SQL sans supprimer
et
> recréer la base (je n'ai pas les droits pour réaliser la > suppression/création de la base). J'ai regardé du côté du menu Tools, > Generate SQL Script en choisissant de faire un DROP sur toutes les
tables
> mais malgré que le script s'exécute sans erreur, les tables subsistent > toujours! > > Merci d'avance de votre aide! > > Thierry > >
-- Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
Thierry Frache [MVP]
Merci ca marche au poil! Merci également à toi Fred.
Thierry
"TINANT Hervé (alias CrazyHT)" <crazyht> a écrit dans le message de news:
Regarde le code suivant. Il ne gere que les objet de base mais en
remplacant
les print par des sp_executesql ca devrait le faire. Pour les autres
objets
regarde la doc. La c'est juste un point de depart.
P.S. : Je n'ai pas tester le codes avec l'appel a sp_executesql mais ca
doit
tourner.
use Northwind
Declare @constraint sysname Declare @contcat sysname Declare curcont cursor for SELECT TABLE_NAME,CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE open curcont fetch curcont into @contcat ,@constraint while @@fetch_status >= 0 Begin PRINT 'ALTER TABLE ' + @contcat + ' DROP CONSTRAINT ' + @constraint fetch curcont into @contcat ,@constraint End CLOSE curcont Deallocate curcont
Declare @TableName sysname Declare @TableType varchar(10) Declare cur cursor for SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE LEFT(TABLE_NAME,3)<>'sys' open cur fetch cur into @TableName,@TableType while @@fetch_status >= 0 Begin IF (@TableType='VIEW') PRINT 'DROP VIEW ' + @TableName ELSE PRINT 'DROP TABLE ' + @TableName fetch cur into @TableName,@TableType END CLOSE cur DEALLOCATE cur
Crazyht MVP Visual C#.NET http://www.csharpfr.com
"Fred BROUARD" a écrit dans le message de news: > Il faut le faire dans l'ordre inverse des imbrications d'intégrité > référentielles. > > Tu trouvera la liste de ces dernières dans les tabes d'information de schema > SELECT * FROM INFORMATION_SCHEMA. ??? > > A + > > Thierry Frache [MVP] a écrit: > > Bonjour, > > > > autant je me débrouille avec les systèmes Windows 2000/2003, autant je ne > > connais que très très peu de choses sur SQL Server 2000. Dans l'immédiat, je > > souhaiterais supprimer toutes les tables d'une base SQL sans supprimer et > > recréer la base (je n'ai pas les droits pour réaliser la > > suppression/création de la base). J'ai regardé du côté du menu Tools, > > Generate SQL Script en choisissant de faire un DROP sur toutes les tables > > mais malgré que le script s'exécute sans erreur, les tables subsistent > > toujours! > > > > Merci d'avance de votre aide! > > > > Thierry > > > > > > -- > Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web > Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html > Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com > ****************** mailto: ****************** >
Merci ca marche au poil! Merci également à toi Fred.
Thierry
"TINANT Hervé (alias CrazyHT)" <crazyht> a écrit dans le message de news:
eqOBRnD7DHA.2264@tk2msftngp13.phx.gbl...
Regarde le code suivant. Il ne gere que les objet de base mais en
remplacant
les print par des sp_executesql ca devrait le faire. Pour les autres
objets
regarde la doc. La c'est juste un point de depart.
P.S. : Je n'ai pas tester le codes avec l'appel a sp_executesql mais ca
doit
tourner.
use Northwind
Declare @constraint sysname
Declare @contcat sysname
Declare curcont cursor for SELECT TABLE_NAME,CONSTRAINT_NAME FROM
INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
open curcont
fetch curcont into @contcat ,@constraint
while @@fetch_status >= 0
Begin
PRINT 'ALTER TABLE ' + @contcat + ' DROP CONSTRAINT ' + @constraint
fetch curcont into @contcat ,@constraint
End
CLOSE curcont
Deallocate curcont
Declare @TableName sysname
Declare @TableType varchar(10)
Declare cur cursor for SELECT TABLE_NAME, TABLE_TYPE FROM
INFORMATION_SCHEMA.TABLES WHERE LEFT(TABLE_NAME,3)<>'sys'
open cur
fetch cur into @TableName,@TableType
while @@fetch_status >= 0
Begin
IF (@TableType='VIEW')
PRINT 'DROP VIEW ' + @TableName
ELSE
PRINT 'DROP TABLE ' + @TableName
fetch cur into @TableName,@TableType
END
CLOSE cur
DEALLOCATE cur
Crazyht
MVP Visual C#.NET
http://www.csharpfr.com
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
news:4022BBE7.4080309@club-internet.fr...
> Il faut le faire dans l'ordre inverse des imbrications d'intégrité
> référentielles.
>
> Tu trouvera la liste de ces dernières dans les tabes d'information de
schema
> SELECT * FROM INFORMATION_SCHEMA. ???
>
> A +
>
> Thierry Frache [MVP] a écrit:
> > Bonjour,
> >
> > autant je me débrouille avec les systèmes Windows 2000/2003, autant je
ne
> > connais que très très peu de choses sur SQL Server 2000. Dans
l'immédiat, je
> > souhaiterais supprimer toutes les tables d'une base SQL sans supprimer
et
> > recréer la base (je n'ai pas les droits pour réaliser la
> > suppression/création de la base). J'ai regardé du côté du menu Tools,
> > Generate SQL Script en choisissant de faire un DROP sur toutes les
tables
> > mais malgré que le script s'exécute sans erreur, les tables subsistent
> > toujours!
> >
> > Merci d'avance de votre aide!
> >
> > Thierry
> >
> >
>
> --
> Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ****************** mailto:brouardf@club-internet.fr ******************
>
Merci ca marche au poil! Merci également à toi Fred.
Thierry
"TINANT Hervé (alias CrazyHT)" <crazyht> a écrit dans le message de news:
Regarde le code suivant. Il ne gere que les objet de base mais en
remplacant
les print par des sp_executesql ca devrait le faire. Pour les autres
objets
regarde la doc. La c'est juste un point de depart.
P.S. : Je n'ai pas tester le codes avec l'appel a sp_executesql mais ca
doit
tourner.
use Northwind
Declare @constraint sysname Declare @contcat sysname Declare curcont cursor for SELECT TABLE_NAME,CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE open curcont fetch curcont into @contcat ,@constraint while @@fetch_status >= 0 Begin PRINT 'ALTER TABLE ' + @contcat + ' DROP CONSTRAINT ' + @constraint fetch curcont into @contcat ,@constraint End CLOSE curcont Deallocate curcont
Declare @TableName sysname Declare @TableType varchar(10) Declare cur cursor for SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE LEFT(TABLE_NAME,3)<>'sys' open cur fetch cur into @TableName,@TableType while @@fetch_status >= 0 Begin IF (@TableType='VIEW') PRINT 'DROP VIEW ' + @TableName ELSE PRINT 'DROP TABLE ' + @TableName fetch cur into @TableName,@TableType END CLOSE cur DEALLOCATE cur
Crazyht MVP Visual C#.NET http://www.csharpfr.com
"Fred BROUARD" a écrit dans le message de news: > Il faut le faire dans l'ordre inverse des imbrications d'intégrité > référentielles. > > Tu trouvera la liste de ces dernières dans les tabes d'information de schema > SELECT * FROM INFORMATION_SCHEMA. ??? > > A + > > Thierry Frache [MVP] a écrit: > > Bonjour, > > > > autant je me débrouille avec les systèmes Windows 2000/2003, autant je ne > > connais que très très peu de choses sur SQL Server 2000. Dans l'immédiat, je > > souhaiterais supprimer toutes les tables d'une base SQL sans supprimer et > > recréer la base (je n'ai pas les droits pour réaliser la > > suppression/création de la base). J'ai regardé du côté du menu Tools, > > Generate SQL Script en choisissant de faire un DROP sur toutes les tables > > mais malgré que le script s'exécute sans erreur, les tables subsistent > > toujours! > > > > Merci d'avance de votre aide! > > > > Thierry > > > > > > -- > Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web > Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html > Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com > ****************** mailto: ****************** >