U kunt SQL Server opvragen om te controleren op het bestaan van objecten.
Om te controleren op het bestaan van een database kunt u deze query gebruiken:
SELECT * FROM master.dbo.sysdatabases WHERE name = 'YourDatabase'
Om het bestaan van tabellen te controleren, kunt u deze query gebruiken voor uw doeldatabase:
SELECT * FROM sys.tables WHERE name = 'YourTable' AND type = 'U'
Deze onderstaande link laat zien hoe u kunt controleren of de database bestaat in SQL Server met behulp van VB.NET-code:
Controleer of SQL-database bestaat op een server met vb.net
Code waarnaar wordt verwezen van bovenstaande link:
Je zou de controle op een andere manier kunnen uitvoeren, dus het is gedaan in een enkele aanroep met behulp van een EXISTS
controleer zowel de database als een tabel:
IF NOT EXISTS (SELECT * FROM master.dbo.sysdatabases WHERE name = 'YourDatabase')
BEGIN
-- Database creation SQL goes here and is only called if it doesn't exist
END
-- You know at this point the database exists, so check if table exists
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'YourTable' AND type = 'U')
BEGIN
-- Table creation SQL goes here and is only called if it doesn't exist
END
Door de bovenstaande code één keer aan te roepen met parameters voor database en tabelnaam, weet je dat beide bestaan.