If there is a condition that is in the top level set of AND'ed
conditions in the table expression's WHERE clause and if it is an
equality condition and if it references a parameter of a procedure
table and if the other side of the equality does not reference the
procedure table or a table to the right of it, then this condition
is considered a parameter. This means that the condition is not
actually evaluated but rather that the other side of the equality
is evaluated before calling the procedure and that the value
returned is passed to the procedure as an input parameter in the
position indicated by the name in the parameter list of the view or
If the procedure table is referenced in an explicit join, as in
outer or inner join syntax, only equalities in the join condition
(ON clause) are eligible to specify a parameter. Equalities in the
enclosing query's WHERE phrase will be considered tests on the
results, not parameters.
The parameter names in the procedure view's or derived table's
parameter list do not have to be names in the output columns,
although this will often be the case. The number of parameters in
the parameter list in the view or derived table must match that in
the procedure definition but the names do not have to be the same.
Only input parameters are supported.
If a parameter is specified but no applicable predicate is
found, a NULL value is passed.