Если у вас есть много столбцов, по которым вы можете искать, тогда создание динамического оператора SQL будет проще, но ... вам нужно беспокоиться о внедрении SQL
ИЛИ
, если вы знаетев столбцах, по которым будет производиться поиск, создайте необязательный параметр для каждого из этих столбцов и присвойте им значение по умолчанию, равное null
Редактировать: добавлен пример на сервере sql, но его легко переносить в oracle
CREATE PROCEDURE dbo.test
(
@col1 varchar(50) = null,
@col2 int = null,
@col3 datetime = null
)
AS
SELECT col1, col2, col3
FROM someTable
WHERE (@col1 IS NULL OR col1 = @col1)
AND (@col2 IS NULL OR col2 = @col2)
AND (@col3 IS NULL OR col3 = @col3)