SQL-представление / функция / с переменной в операторе Select - PullRequest
0 голосов
/ 26 сентября 2019

ниже - мой SQL-запрос.Он содержит переменную, поэтому я думаю, его нельзя сохранить как VIEW.Как я могу заставить его работать с функцией / хранимой процедурой / представлением?

DECLARE @sql varchar(max);

SELECT @sql = Coalesce(@sql + ' UNION ALL ', '') + 
'SELECT *  FROM ' + QuoteName(DatabaseName) + '.dbo.states'

FROM   sanketuniversal.dbo.databasemaster
where itemdata = 0 and CustomerGroupfordisplay = 1;


--PRINT @sql
EXEC (@sql);

Другой вариант - функция.Я также пытался, но получал ошибку.

CREATE FUNCTION dbo.MNReport()
RETURNS @MN_table TABLE (
    SIDs VARCHAR(MAX) NOT NULL,
    StateName VARCHAR(20) NOT NULL
    )
    AS
BEGIN   

DECLARE @sql varchar(max);
     INSERT INTO @MN_table



SELECT @sql = Coalesce(@sql + ' UNION ALL ', '') + 

        'SELECT count(*)  FROM ' + QuoteName(DatabaseName) + '.dbo.states' 

FROM   sanketuniversal.dbo.databasemaster
where itemdata = 0 and CustomerGroupfordisplay = 1;


      RETURN;
END;

Ошибка: «Инструкция INSERT не может содержать инструкцию SELECT, которая присваивает значения переменной» *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...