Здраствуйте
Есть несколько процедур, в которых запрос отсеивается по некоторому условию:
---------------------------------------------------------------------------------------------------
CREATE PROCEDURE dbo.myproc;3
@aaa int
AS
SET NOCOUNT ON
SELECT
valueA,
valueB,
ValueFilter
FROM
tbl_A
WHERE
ValueFilter NOT IN ( SELECT ValueFilter
FROM tbl_Filter
WHERE ValueFilter IS NULL )
GO
-----------------------------------------------------------------------------------------------
CREATE PROCEDURE dbo.myproc;5
@aaa int,
@bbb int
AS
SET NOCOUNT ON
SELECT
valueX,
valueY,
ValueFilter
FROM
tbl_B
WHERE
ValueFilter NOT IN ( SELECT ValueFilter
FROM tbl_Filter
WHERE ValueFilter IS NULL )
GO
Можно ли сделать процедуру вида:
---------------------------------------------------------------------------------------------------
CREATE PROCEDURE dbo.myproc;100500
AS
SET NOCOUNT ON
SELECT ValueFilter
FROM tbl_Filter
WHERE ValueFilter IS NULL
GO
И использовать её вместо SELECT'а
---------------------------------------------------------------------------------------------------
CREATE PROCEDURE dbo.myproc;3
@aaa int
AS
SET NOCOUNT ON
SELECT
valueA,
valueB,
ValueFilter
FROM
tbl_A
WHERE
ValueFilter NOT IN (exec dbo.myproc;100500)
GO
(Конечно же так как я написал в последнем примере- не работает, ошибка синтаксиса)