Question

J'ai un script qui a une commande Drop Table comme ceci:

IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('msdb.dbo.lobloblob') AND type in (N'U'))
DROP TABLE msdb.dbo.lobloblob
CREATE TABLE msdb.dbo.lobloblob
....

Cette commande s'exécute correctement. Mais dans le script, la commande Drop ne s'exécute pas et ne propose pas cette erreur

Il y a déjà un objet nommé «msdb.dbo.lobloblob» dans la base de données

Était-ce utile?

La solution

Essayer

IF OBJECT_ID('msdb.dbo.lobloblob', 'U') IS NOT NULL
    DROP TABLE msdb.dbo.lobloblob;

CREATE TABLE msdb.dbo.lobloblob (...);

Au lieu. Je suppose que vous exécutez ce script à partir du contexte d'une base de données autre que msdb donc ça ne sera pas sys.objects

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top