Мне нужно создать представление в другой базе данных.
У меня есть такой код:
--sql start
USE MyDB1
GO
CREATE PROCEDURE [dbo].My_procedure
DECLARE @prm_Name VARCHAR(60)
AS
BEGIN
DECLARE @sql = ''
SET @sql = concat('USE MyDB2
GO
CREATE VIEW [dbo].[',@prm_Name,'_view]
AS
SELECT *
FROM [dbo].', @prm_Name)
EXECUTE(@sql)
END
--sql end
Но у меня есть синтаксическая ошибка рядом с 'GO' при вызове этой процедуры.
Я тестирую:
set @sql = concat('
CREATE VIEW [MyDB2].[dbo].[',@prm_Name,'_view]
AS
SELECT * FROM [dbo].',@prm_Name)
execute(@sql
Но у меня есть эта ошибка: «CREATE / ALTER VIEW» не позволяет указывать имя базы данных в качестве префикса к имени объекта. »
Как правильно создать мой вид?