Я хочу, чтобы программным путем заполнить набор таблиц и процедур в новые базы данных.Как создать таблицу внутри недавно созданной базы данных с динамическим 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
Когда я выполнить эту процедуру, она создает таблицу Testing
в основной базе данных вместо TestDatabase1
.
EXEC PROCEDURETOREPLICATECOMMONSCHEMA 'TestDatabase1'
GO