Как добавить условие к курсору plsql - PullRequest
0 голосов
/ 30 ноября 2018

Я написал запрос на выборку в PLSQL, как показано ниже.

SELECT *
FROM order_tab
WHERE contract = contract_
AND vendor_no  =  vendor_no_
AND category   = category_;

Мне нужно добавить условие к этому коду, где

  • когда contract = '*' в order_tab, игнорируйте условие "контракт = контракт _"
  • , когда контракт в order_tab имеет другое значение, включите условие "контракт = контракт _"

Возможно ли это достичь с помощью одноговыберите заявление.Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 30 ноября 2018

Используйте условие IN

SELECT * from order_tab where contract IN('*','contract_') AND vendor_no = vendor_no_ AND category = category_;

0 голосов
/ 30 ноября 2018

Использование функции DECODE в Oracle

SELECT *
FROM order_tab
WHERE contract LIKE DECODE(contract_, ’*’, ’%’, contract_)
AND vendor_no  =  vendor_no_
AND category   = category_;
0 голосов
/ 30 ноября 2018

Добавить OR условие:

SELECT *
FROM   order_tab
WHERE  ( contract = '*' OR contract = contract_ )
AND    vendor_no  =  vendor_no_
AND    category   = category_;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...