У меня есть хранимая процедура, которая находит имена параметров для отчета. Ему нужно знать имя отчета, прежде чем он сможет найти имена параметров. Проблема заключается в том, что остальная часть хранимой процедуры создает динамическую строку SQL, которая отправляется обратно в построитель отчетов для интерпретации как обычный оператор SQL, т.е.
SELECT
item
FROM
TableA
WHERE
item = @item
Мне нужна хранимая процедура для вывода этой информации, чтобы построитель отчетов корректно подсказывал мне ввести значение для @item
. Если мне удастся этого добиться, то я знаю, что при запуске отчета он будет использовать параметр @item
в клиентской части.
Проблема в том, что если я создаю хранимую процедуру стандартным способом, делая что-то вроде
CREATE procedure [dbo].[stored_proc]
(@ReportName varchar(100))
...
Затем, когда я пытаюсь использовать SP в наборе данных в представлении конструктора построителя отчетов, он предлагает ввести значение @ReportName
, что нехорошо, потому что тогда не будет запрашиваться @item
. Мне нужен способ автоматической передачи имени отчета в SP без необходимости передавать его как переменную.
Еще один способ задать этот вопрос: как хранимая процедура может видеть информацию о программе, которая ее вызвала?