n'ayant plus pratiqué le Tsql depuis quelques années (et sans avoir crée des
stored procedures allant au dela d'une suite de select,delete..), je but sur
le probléme suivant:
je souhaite détruire des tables qui ont été renomées avec le sufixe: '_OLD'
dans le même bd.
j'obtiens la liste de ces tables par:
use MaBD
select name from sysobjects where xtype='U' and right(name,4)='_OLD'
Et là, je ne sais pas faire (en TSQL) car en programmation je ferais une
boucle du genre:
recordset= execution de ma query(select name from sysobjects where xtype='U'
and right(name,4)='_OLD' )
while trouve(mon recorset)
$NomTable =recorset.name
drop table $NomTable
next
Mais je dois faire un script directement en SQl.
Merci de me donner vos idées et de m'indiquer où chercher dans l'aide.
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
Laurent Moreau
Comme ça par exemple:
DECLARE @Req Varchar(100) WHILE EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME like '%_OLD') BEGIN SELECT TOP 1 @Req='DROP TABLE '+TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME like '%_OLD' EXEC (@Req) END
Sinon avec un curseur, voir aide de CREATE CURSOR
Laurent.
"Stephan Guillermond" wrote in message news:bq7hro$1vhlrc$
Bonjour,
n'ayant plus pratiqué le Tsql depuis quelques années (et sans avoir crée
des
stored procedures allant au dela d'une suite de select,delete..), je but
sur
le probléme suivant:
je souhaite détruire des tables qui ont été renomées avec le sufixe:
'_OLD'
dans le même bd. j'obtiens la liste de ces tables par:
use MaBD select name from sysobjects where xtype='U' and right(name,4)='_OLD'
Et là, je ne sais pas faire (en TSQL) car en programmation je ferais une boucle du genre:
recordset= execution de ma query(select name from sysobjects where
xtype='U'
and right(name,4)='_OLD' ) while trouve(mon recorset) $NomTable =recorset.name drop table $NomTable next
Mais je dois faire un script directement en SQl. Merci de me donner vos idées et de m'indiquer où chercher dans l'aide.
Bonne journée.
Stéphan - français au pays des tulipes
Comme ça par exemple:
DECLARE @Req Varchar(100)
WHILE EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE
TABLE_NAME like '%_OLD')
BEGIN
SELECT TOP 1 @Req='DROP TABLE '+TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME like '%_OLD'
EXEC (@Req)
END
Sinon avec un curseur, voir aide de CREATE CURSOR
Laurent.
"Stephan Guillermond" <guillermond@nomade.fr> wrote in message
news:bq7hro$1vhlrc$1@ID-209898.news.uni-berlin.de...
Bonjour,
n'ayant plus pratiqué le Tsql depuis quelques années (et sans avoir crée
des
stored procedures allant au dela d'une suite de select,delete..), je but
sur
le probléme suivant:
je souhaite détruire des tables qui ont été renomées avec le sufixe:
'_OLD'
dans le même bd.
j'obtiens la liste de ces tables par:
use MaBD
select name from sysobjects where xtype='U' and right(name,4)='_OLD'
Et là, je ne sais pas faire (en TSQL) car en programmation je ferais une
boucle du genre:
recordset= execution de ma query(select name from sysobjects where
xtype='U'
and right(name,4)='_OLD' )
while trouve(mon recorset)
$NomTable =recorset.name
drop table $NomTable
next
Mais je dois faire un script directement en SQl.
Merci de me donner vos idées et de m'indiquer où chercher dans l'aide.
DECLARE @Req Varchar(100) WHILE EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME like '%_OLD') BEGIN SELECT TOP 1 @Req='DROP TABLE '+TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME like '%_OLD' EXEC (@Req) END
Sinon avec un curseur, voir aide de CREATE CURSOR
Laurent.
"Stephan Guillermond" wrote in message news:bq7hro$1vhlrc$
Bonjour,
n'ayant plus pratiqué le Tsql depuis quelques années (et sans avoir crée
des
stored procedures allant au dela d'une suite de select,delete..), je but
sur
le probléme suivant:
je souhaite détruire des tables qui ont été renomées avec le sufixe:
'_OLD'
dans le même bd. j'obtiens la liste de ces tables par:
use MaBD select name from sysobjects where xtype='U' and right(name,4)='_OLD'
Et là, je ne sais pas faire (en TSQL) car en programmation je ferais une boucle du genre:
recordset= execution de ma query(select name from sysobjects where
xtype='U'
and right(name,4)='_OLD' ) while trouve(mon recorset) $NomTable =recorset.name drop table $NomTable next
Mais je dois faire un script directement en SQl. Merci de me donner vos idées et de m'indiquer où chercher dans l'aide.
Bonne journée.
Stéphan - français au pays des tulipes
bruno reiter [MVP]
mets ton résultat dans une table temporaire puis une boucle while en sélectionnant le TOP 1 dans cette table, suppression de la table, supprsion de la ligne dans la table tempo
br
"Stephan Guillermond" wrote in message news:bq7hro$1vhlrc$
Bonjour,
n'ayant plus pratiqué le Tsql depuis quelques années (et sans avoir crée des stored procedures allant au dela d'une suite de select,delete..), je but sur le probléme suivant:
je souhaite détruire des tables qui ont été renomées avec le sufixe: '_OLD' dans le même bd. j'obtiens la liste de ces tables par:
use MaBD select name from sysobjects where xtype='U' and right(name,4)='_OLD'
Et là, je ne sais pas faire (en TSQL) car en programmation je ferais une boucle du genre:
recordset= execution de ma query(select name from sysobjects where xtype='U' and right(name,4)='_OLD' ) while trouve(mon recorset) $NomTable =recorset.name drop table $NomTable next
Mais je dois faire un script directement en SQl. Merci de me donner vos idées et de m'indiquer où chercher dans l'aide.
Bonne journée.
Stéphan - français au pays des tulipes
mets ton résultat dans une table temporaire
puis une boucle while en sélectionnant le TOP 1 dans cette table, suppression de
la table, supprsion de la ligne dans la table tempo
br
"Stephan Guillermond" <guillermond@nomade.fr> wrote in message
news:bq7hro$1vhlrc$1@ID-209898.news.uni-berlin.de...
Bonjour,
n'ayant plus pratiqué le Tsql depuis quelques années (et sans avoir crée des
stored procedures allant au dela d'une suite de select,delete..), je but sur
le probléme suivant:
je souhaite détruire des tables qui ont été renomées avec le sufixe: '_OLD'
dans le même bd.
j'obtiens la liste de ces tables par:
use MaBD
select name from sysobjects where xtype='U' and right(name,4)='_OLD'
Et là, je ne sais pas faire (en TSQL) car en programmation je ferais une
boucle du genre:
recordset= execution de ma query(select name from sysobjects where xtype='U'
and right(name,4)='_OLD' )
while trouve(mon recorset)
$NomTable =recorset.name
drop table $NomTable
next
Mais je dois faire un script directement en SQl.
Merci de me donner vos idées et de m'indiquer où chercher dans l'aide.
mets ton résultat dans une table temporaire puis une boucle while en sélectionnant le TOP 1 dans cette table, suppression de la table, supprsion de la ligne dans la table tempo
br
"Stephan Guillermond" wrote in message news:bq7hro$1vhlrc$
Bonjour,
n'ayant plus pratiqué le Tsql depuis quelques années (et sans avoir crée des stored procedures allant au dela d'une suite de select,delete..), je but sur le probléme suivant:
je souhaite détruire des tables qui ont été renomées avec le sufixe: '_OLD' dans le même bd. j'obtiens la liste de ces tables par:
use MaBD select name from sysobjects where xtype='U' and right(name,4)='_OLD'
Et là, je ne sais pas faire (en TSQL) car en programmation je ferais une boucle du genre:
recordset= execution de ma query(select name from sysobjects where xtype='U' and right(name,4)='_OLD' ) while trouve(mon recorset) $NomTable =recorset.name drop table $NomTable next
Mais je dois faire un script directement en SQl. Merci de me donner vos idées et de m'indiquer où chercher dans l'aide.