0
我想以编程方式将一组表和过程填充到新的数据库中。如何使用动态sql在最近创建的数据库中创建表?
然后我准备了一个初始化脚本,我将在必须创建新数据库的过程中使用它。
我试图用一个简单的例子,并没有工作:
CREATE PROCEDURE PROCEDURETOREPLICATECOMMONSCHEMA
@databaseName NVARCHAR(40)
AS
BEGIN
DECLARE @sqlCreation NVARCHAR(MAX);
SET @sqlCreation = '
USE MASTER;
EXEC(''CREATE DATABASE ' + @databaseName + ''');
EXEC(''USE ' + @databaseName + ''');
CREATE TABLE Testing
(
TestPk int,
TestDescription nvarchar(80)
);
';
PRINT @sqlCreation;
EXEC sp_executesql @sqlCreation;
END
GO
当我执行这个程序,它会创建主数据库,而不是TestDatabase1
表里面Testing
。
EXEC PROCEDURETOREPLICATECOMMONSCHEMA 'TestDatabase1'
GO