Можно ли использовать определение в отчетах Oracle SQL? - PullRequest
0 голосов
/ 23 апреля 2020

Сначала я хочу заявить, что я новичок в Oracle SQL и не имею большого опыта в кодировании.

Я создаю отчет для нашего финансового отдела, и у меня есть несколько формул для подсчета сумм ПО, сумм по счетам, полученных сумм и т. д. c. Я хотел бы определить эти формулы как переменные, чтобы мне не приходилось писать формулы каждый раз, когда я использую их в коде. Что мне нужно знать, так это то, что определение переменной каким-то образом вносит изменения в исходную таблицу БД?

Пример из моего кода:

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

Может ли этот вид логики c использоваться в отчетах самообслуживания или это как-то изменяет исходную таблицу БД?

Надеюсь, я смог объяснись достаточно ясно

Заранее спасибо

1 Ответ

0 голосов
/ 23 апреля 2020

Да, вы можете сделать это, и это не изменит таблицы БД (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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...