sql server - saber - ¿Cómo verificar la existencia de una tabla desde un db sql diferente?
saber si existe una tabla temporal en sql server (1)
Para SQL Server, debe usar system view sys.tables para verificar si existe una tabla.
IF EXISTS(SELECT 1 FROM B.sys.tables WHERE name = ''mytablebackup'')
Tengo db A y db B. Al comienzo de un procedimiento almacenado quiero hacer una copia de seguridad de todas las filas de B.mytable
a B.mytablebackup
. El resto del procedimiento almacenado se ejecuta contra tablas en db A (que reúne datos y los escribe en B.mytable
).
Así que B.mytablebackup
para ver si existe B.mytablebackup
IF EXISTS(SELECT 1 FROM B.dbo.mytablebackup)
y si lo hace, el procedimiento almacenado hace una
INSERT INTO B..mytablebackup SELECT * FROM B..mytable
Si no existe, hace un
SELECT * INTO B..mytablebackup from B..mytable
Pero cuando ejecuto el procedimiento almacenado obtengo el error
Ya hay un objeto llamado ''mytablebackup'' en la base de datos
Agregué una instrucción de Print
y la ejecución está tomando la rama "no existe" del IF.
¿Qué estoy haciendo mal?