2016-03-01 9 views
1

Я использую ниже запрос в моих формах, но он выдает эту ошибку:Oracle Forms - Ошибка 103, Встречающийся символ «Заказать»

Oracle Forms - Error 103, Encountered the symbol “END”.

же запрос не его работа на жабе, то это не проблема.

Есть ли какие-либо ограничения на использование ORDER в формах или в подзапросе или в таблице выбора?

Формы 6i Oracle 10G

SELECT apr_rate 
INTO lv_apr_rate  
FROM 
(SELECT apr_rate                         
    FROM cm_contract_extension 
    WHERE country_code = '044' 
     AND company_code = '0441' 
     AND contract_number = '0000002140426510' 
     AND supply_sequence_number = 1 
     ORDER BY version_number DESC) 
     WHERE ROWNUM < 2 ; 

BR, Shadab Хуссейн

+0

Если вы используете на уровне блоков, есть свойство блочного уровня, чтобы указать, какой столбец блок должен 'ORDER BY' вместо указания' ORDER BY' явно в SQL. – user75ponic

+0

Нет, я не использую уровень блока. –

ответ

0

Формы не позволяют использовать ORDER BY, если вы хотите, что вы должны написать его в качестве процедуры базы данных ,

0

В Oracle, вы можете написать это с помощью KEEP:

SELECT MAX(apr_rate) KEEP (DENSE_RANK FIRST ORDER BY version_number DESC) as apr_rate                         
FROM cm_contract_extension 
WHERE country_code = '044' AND 
     company_code = '0441' AND 
     contract_number = '0000002140426510' AND 
     supply_sequence_number = 1 ; 
+0

Спасибо, Гордон, это имеет смысл, но здесь проблема только в производительности, так как моя таблица очень огромная, поэтому я не могу использовать DENSE_RANK. Есть ли какой-либо другой аперс из DENSE_RANK? –

+0

'KEEP' имел очень хорошую производительность, когда я использовал его, даже на больших столах. –

 Смежные вопросы

  • Нет связанных вопросов^_^