-1
CREATE PROCEDURE dbo.sp_data_archive
(
@DataBaseName varchar(100),
)
AS
BEGIN
INSERT INTO [@DataBaseName].dbo.TESTTABLE
INSERT INTO dbo.TestTable
END
Ошибка при передаче: Недопустимое имя объекта '@ DataBaseName.dbo.TESTTABLE'.Как использовать переменную имени базы данных внутри хранимой процедуры?
Как это решить?
Для этого вам может потребоваться sp_executesql. Передайте свою строку sql в executesql, а затем попробуйте выполнить ее. –
Вы можете привести пример? –
Избегайте использования префикса sp_ при процедурах именования. Этот префикс используется SQL Server для обозначения системных процедур. – ughai