You 'can', but the dynamic SQL will perform better.

If :c1 is required, but :c2 and :c3 are optional, you can do this:


SELECT
----*
FROM
----T
WHERE
----T.C1----=----:C1----------------AND
----T.C2----=----NVL(:C2,T.C2)----AND
----T.C3----=----NVL(:C3,T.C3)

HTH,

- Chris