Code: --in db1 context IF EXISTS (SELECT name FROM sysobjects WHERE name = 'test' AND type = 'P') DROP PROCEDURE dbo.test GO
CREATE PROCEDURE dbo.test AS --to create db if not existing IF NOT EXISTS (select name from [master].dbo.sysdatabases where name = 'db2') CREATE DATABASE db2 /* if tabl1 exists in db1 then it is copied into db2 and dropped frm db1 */ IF EXISTS (SELECT name FROM sysobjects WHERE name = 'tabl1' and xtype='U') BEGIN SELECT * INTO [db2].dbo.tabl1 FROM tabl1 DROP TABLE tabl1 print 'dropped table' END
When I try to execute this, I get the following error msg:
Server: Msg 2702, Level 16, State 2, Procedure test, Line 10 Database 'db2' does not exist.
How do I get this working?
View questions and answers from all of our SQL Server experts here.
Dig Deeper on SQL Server Stored Procedures
Related Q&A from Greg Low
Should developers be granted permissions to production queue in a SQL Server environment? See why expert Greg Low suggests proc access by WITH ... Continue Reading
Find how to save stored procedure output to the network drive via SQL Server Management Studio. Continue Reading
Find how to query in SQL Server to get all database names created by users. Continue Reading