Нужно написать хранимку, которая выбирает данные селектом с идентификатором равным входному параметру. Если идентификатор равен 0, то нужно возвращать все записи. Как в таких случаях писать. Мне почему то подход в стиле:
IF (@Type IS NOT NULL)
BEGIN
SELECT
DefProcID,
...
WHERE
...
AND TCLS.ClsTypeID = @Type
END
ELSE
BEGIN
SELECT
DefProcID,
...
WHERE ...
END