分析我的应用程序的Oracle DB,我总是运行以相同的“order by”子句结束的查询,因为每个表都有一个日期类型“DT_EXTRACTION”列。
有没有办法为字符串“按DT_EXTRACTION desc命令”(比如等于$ DD)定义别名,并像这样写我的查询?
select *
from foo
$DD;
答案 0 :(得分:2)
由于您正在使用SQL Developer,因此可以(ab)使用替换变量:
define DD='order by DT_EXTRACTION desc'
select * from your_table
ⅅ
但是您必须在每个脚本/会话中使用define
该字符串,或者将其添加到登录脚本中以使其始终可用(您可以从工具中选择>首选项 - &gt ;数据库)
这也适用于SQL * Plus。
SQL Developer也有“#snippets'”,您可以在View-> Snippets透露的面板中查看和管理它们。您可以为该order by
子句添加自己的代码段,然后可以将其从代码段面板拖放到您需要使用它的代码中。不是你要求但仍然有用。 @thatjeffsmith has a write up with pictures,所以我不会在这里重复这些细节,因为它不是你所需要的。
您可能会发现code templates也很有用。从工具 - >首选项 - >数据库选择SQL编辑器代码模板,并为您的字符串定义一个新模板:
然后在工作表中输入:
select * from your_table DD
点击控制空间,它会自动扩展到
select * from your_table order by dt_extraction desc