【发布时间】:2014-04-18 17:34:39
【问题描述】:
我正在使用 Oracle SQL Developer 并构建了一个相当大的查询。查询将按月或按季度运行。我想知道是否有一种方法可以在顶部执行声明语句,然后在代码中仅引用创建的这些变量。这样,当有人想要运行查询时,他们只需更改代码顶部的日期,而不必深入研究所有内容。我对 Oracle SQL Developer 有点陌生,但我知道在我构建的其他 sql 代码中,我可以简单地声明变量,然后设置它,然后在代码中调用变量名。下面是一个我知道该怎么做但我在 Oracle SQL Developer 中遇到问题的示例。
示例:我有一个数据库,其中包含列业务、业务类型(小、中、大)存款数量、存款金额和存款日期。我想构建一个查询,输出存款数量和存款金额的季度汇总,并能够更改业务的季度和规模。
我之前的 SQL 经验中的示例代码这是我正在尝试做的一个示例,因为我无法使用其中的表名等披露我的代码。
Declare @busstype,@qbegindate,@qenddate
Set @busstype = 'small'
Set @qbegindate = '01-JAN-2013'
Set @qenddate = '01-MAR-2013'
Select business,numberofdeposits,depositamount
From business_transactions
Where ('@qbegindate'<=depositdate<='@qenddate'
And businesstype = '@busstype')
Group By Business
结果会列出企业名称,然后是总存款和总金额。 我知道这段代码不正确,但它只是我希望在 Oracle SQL Developer 中执行的一个示例。我建立的查询运行良好我只是发现挖掘代码以更改日期和标准很痛苦,并且想知道我将如何做这样的事情,因为我发现我无法在 ORACLE Sql 中执行此操作开发者。
【问题讨论】:
-
我不了解 sqldeveloper,但在 sqlplus 中,您可以使用“define”实现所需的功能。然后,您可以通过在“where &begindate...”中为定义的值添加前缀来引用它们,例如“where &begindate...”
标签: oracle oracle-sqldeveloper