При написании запросов мы используем алиасы для имен таблиц.
SELECT gcc.concatenated_segments
FROM gl_je_lines gjl
,gl_code_combinations_kfv gcc
WHERE gjl.code_combination_id = gcc.code_combination_id
AND ...
Алиасы настолько входят в нашу жизнь, что зачастую и в разговоре можно услышать
что-то вроде gcc, ccid, mmt, etc.
Так удобнее выражаться, коротко и кому надо - поймет.
Так почему бы не "научить" наш любимый редактор текста
(где мы пишем и выполняем запросы) этому языку.
Вот пример, как это можно сделать для SQL*Plus.
Добавим в login.sql следующие строчки:
DEFINE gcc="gl_code_combinations_kfv gcc"
DEFINE ccid="code_combination_id"
DEFINE gjl="gl_je_lines gjl"
DEFINE gjh="gl_je_headers gjh"
DEFINE mmt="mtl_material_transactions mmt"
...
Теперь тот же запрос написать гораздо проще:
SQL> select &cs
2 from &gjl, &gcc
3 where gjl.&ccid = gcc.&ccid
4 and ...
Можно пойти дальше и сделать алиасы для "любимых" подзапросов:
DEFINE ccname="SELECT gcc_.concatenated_segments -
FROM gl_code_combinations_kfv gcc_ -
WHERE gcc_.code_combination_id"
DEFINE user="SELECT fu_.user_name FROM fnd_user fu_ WHERE fu_.user_id"
Вот тот же запрос, плюс информация о пользователе, создавшем запись:
SQL> select (&ccname=gjl.&ccid) AS account
2 ,(&user=gjl.created_by) AS created_by
3 from &gjl
4 where ...