Как я могу передать имя отчета хранимой процедуре, не передавая его стандартным способом (в качестве переменной)? - PullRequest
0 голосов
/ 09 мая 2018

У меня есть хранимая процедура, которая находит имена параметров для отчета. Ему нужно знать имя отчета, прежде чем он сможет найти имена параметров. Проблема заключается в том, что остальная часть хранимой процедуры создает динамическую строку SQL, которая отправляется обратно в построитель отчетов для интерпретации как обычный оператор SQL, т.е.

SELECT

    item

FROM

    TableA

WHERE

    item = @item

Мне нужна хранимая процедура для вывода этой информации, чтобы построитель отчетов корректно подсказывал мне ввести значение для @item. Если мне удастся этого добиться, то я знаю, что при запуске отчета он будет использовать параметр @item в клиентской части.

Проблема в том, что если я создаю хранимую процедуру стандартным способом, делая что-то вроде

CREATE procedure [dbo].[stored_proc]
(@ReportName varchar(100))
...

Затем, когда я пытаюсь использовать SP в наборе данных в представлении конструктора построителя отчетов, он предлагает ввести значение @ReportName, что нехорошо, потому что тогда не будет запрашиваться @item. Мне нужен способ автоматической передачи имени отчета в SP без необходимости передавать его как переменную.

Еще один способ задать этот вопрос: как хранимая процедура может видеть информацию о программе, которая ее вызвала?

...