SQL вставка параметра в временную таблицу - PullRequest
0 голосов
/ 23 января 2020

У меня есть отчет ssrs, который получает многозначный параметр, например, мы можем проверить США, Индию, Германию из флажков Имя параметра: @ страна

Мне нужно сохранить параметр в таблице в следующем формате

Create table #tempcountry
(Name varchar(20))

Insert into #tempcountry values (@country)

Что мне в основном нужно, так это то, что таблица должна хранить значения вроде

Name

USA
India
Germany

Это мое требование, я поражен, может ли кто-нибудь помочь мне в этом ??

1 Ответ

1 голос
/ 23 января 2020

В этом случае параметр должен быть табличным типом, передаваемым в режиме ТОЛЬКО ДЛЯ ЧТЕНИЯ и имеющим все данные, вставленные ранее в табличную переменную.

Пример:

CREATE TYPE TYP_COUNTRIES AS TABLE (COUNTRY_NAME VARCHAR(100));
GO

отчет о запросе должен быть основан на функции или процедуре:

CREATE FUNCTION dbo.F_T_MyQuery (@CTRY TYP_COUNTRIES READONLY)
RETURNS TABLE
AS
RETURN (SELECT *
        FROM   MyTable
        WHERE  Country_name IN (SELECT * FROM @CTRY);
GO

Чтобы использовать его:

DECLARE @Countries TYP_COUNTRIES;

INSERT INTO @Countries VALUES ('spain', 'italy', 'france')

SELECT *
FROM   dbo.F_T_MyQuery (@Countries);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...