2016-08-25 1 views
0

Oracle Forms 10g - 'NULLS' n'est pas accepté.Oracle Forms 10g - 'NULLS' n'est pas accepté

Dans l'unité de programme (code PL/SQL), j'utilise NULLS FIRST et son erreur de lancement.

Encountered the symbol NULLS 
select line_id 
from oe_order_lines_all 
where rownum <5 
order by line_id NULLS FIRST; 

de bien vouloir aider

+0

Partagez votre programme PLSQL. – XING

+0

sélectionnez line_id de oe_order_lines_all où rownum <5 \t \t order by line_id NULLS FIRST; Cela fonctionne dans le développement de SQL mais dans des formes d'oracle - erreur de compilation –

Répondre

1

Je ne suis pas familier avec les formulaires, mais une solution de contournement simple (si cela fonctionne) est de modifier la clause order by. Par exemple, en supposant que les identifiants de ligne sont positifs, ou au moins non négatifs, vous pouvez

order by nvl(line_id, -1) 
+0

Super .. C'est ce que je cherchais .. Je n'ai pas pensé à ça. Tu es incroyable :) , –

1

La saveur de PL/SQL et SQL utilisé dans les formes est différent et un peu plus que celui disponible dans la base de données. Pouvoir exécuter du code sur la base de données ne signifie pas qu'il fonctionnera sans modifications dans Forms. Les fonctions analytiques sont un exemple d'une nouvelle fonctionnalité SQL manquante dans Forms. Mais vous pouvez toujours mettre votre code dans un paquet PL/SQL dans la base de données et l'appeler à partir de votre code de formulaire.

+0

Hey Sers .. c'est une bonne idée. Mais encore il devrait y avoir un moyen de gérer ce scénario non? –

+0

+1 Vous avez raison, mais il semble surprenant que Forms 10G ne supporte pas les "nulls first", ce qui a été valide en SQL aussi longtemps que je me souvienne (Oracle 6.0!) –

+0

Les formulaires sont toujours derrière la base de données. Je me souviens quand PL/SQL avait ce même problème :) –