के माध्यम से वर्तमान डेटाबेस बदलें I SQL Server 2008 का उपयोग कर रहा हूं और वर्तमान डेटाबेस नाम को एक चर में बदलने की कोशिश कर रहा हूं। मैं आमतौर पर यह स्टेटमेंट USE myDatabaseName
के साथ स्पष्ट रूप से करता हूं। प्रश्न उठता है क्योंकि यदि मैं एक स्क्रिप्ट चला रहा हूं और यदि मैं डेटाबेस नाम नहीं बदलता तो यह [master]
डेटाबेस में सभी तालिकाएं बनाता है।SQL सर्वर: परिवर्तनीय
मैंने निम्नलिखित की कोशिश की लेकिन ऐसा लगता है कि यह create tables
कोड को [master]
पर लागू करता रहता है।
DECLARE @dbName CHAR(50)
DECLARE @SqlQuery varchar(50)
SET @dbName = 'MyNewDatabaseName'
IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = @dbName)
BEGIN
SELECT @SqlQuery = 'CREATE DATABASE ' + @dbName + 'COLLATE SQL_Latin1_General_CP1_CI_AS'
EXEC(@SqlQuery)
END
Select @SqlQuery = 'Use ' + @dbName
EXEC(@SqlQuery)
go
आप स्क्रिप्ट कैसे चला रहे हैं? –
सर्वर स्तर पर 'नई क्वेरी' के रूप में। – Rick