MS SQL Server 2000 - comprobar si hay errores de base de datos existente
-
16-09-2019 - |
Pregunta
Puedo utilizar SP4 MS SQL Server 2000 y tengo esta parte del guión, que verifica la base de datos existente:
IF EXISTS (SELECT * FROM sysdatabases WHERE name='MY_DBNAME')
BEGIN
PRINT 'Using the existing database MY_DBNAME.'
USE MY_DBNAME
END
ELSE
BEGIN
PRINT 'Creating new database MY_DBNAME.'
CREATE DATABASE MY_DBNAME
END
GO
Sigo recibiendo este error:
No se pudo localizar la entrada en sysdatabases para 'MY_DBNAME' base de datos. No se encontró una búsqueda con ese nombre. Asegúrese de que el nombre se ha introducido correctamente.
¿Hay una manera de desactivar este mensaje, o hay otra manera de comprobar si existe una tabla?
Solución
Está tratando de recopilar toda la cosa, incluyendo "MY_DBNAME USO" antes de que se ejecute. Compilación falla debido a esta base de datos no existe. No se puede, me temo, hacer lo que estamos tratando de hacer en un solo lote SQL.
Otros consejos
Gracias a sus consejos que he encontrado la solución:
IF EXISTS (SELECT * FROM sysdatabases WHERE name='MY_DBNAME')
BEGIN
PRINT 'Using the existing database MY_DBNAME.'
END
ELSE
BEGIN
PRINT 'Creating new database MY_DBNAME.'
CREATE DATABASE [MY_DBNAME]
END
GO
USE [MY_DBNAME]
GO