繁体   English   中英

我可以在 Oracle SQL 报告中使用定义吗?

[英]Can I use Define in Oracle SQL reports?

首先我想 state 我是 Oracle SQL 的新手,并且没有太多的编码经验。

我正在为我们的财务部门创建一份报告,我有多个公式用于计算采购订单金额、发票金额、收到金额等。我想将这些公式定义为变量,这样我就不必每次使用它们时都编写公式在代码中。 我需要知道的是,定义一个变量是否会以某种方式改变原始数据库表?

我的代码中的示例:

SELECT
(t.arrived_qty * t.buy_unit_price)*((100-a.discount)/100)+i.additional_cost

例如,我想将到达数量乘以购买单价定义为收到金额

DEF received_qty = t.arrived_qty * t.buy_unit_price

SELECT &received_qty

这种逻辑可以在自助服务报告中使用,还是会以某种方式修改原始数据库表?

希望我能够足够清楚地解释自己

提前致谢

是的,您可以这样做,并且不会更改任何数据库表(DDL 或 DML)

请参阅使用表达式作为变量的示例:

SQL> SELECT * FROM ACCOUNT;

    ACC_NR       SUM_    CUST_ID     SALARY
---------- ---------- ---------- ----------
       500       3400        100
       600       5000        101
       700       5070        102

SQL>
SQL> -- Defining the TOT as CUST_ID + SUM_
SQL>
SQL> DEF TOT = CUST_ID + SUM_;
SQL>
SQL> -- Selecting data using the above formula (variable)
SQL>
SQL> SELECT ACC_NR, &TOT AS TOTAL FROM ACCOUNT;
old   1: SELECT ACC_NR, &TOT AS TOTAL FROM ACCOUNT
new   1: SELECT ACC_NR, CUST_ID AS TOTAL FROM ACCOUNT

    ACC_NR      TOTAL
---------- ----------
       500        100
       600        101
       700        102

SQL>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM