Как рассчитать несколько элементов, используя только одну функцию (оператор SQL, тело функции PL / SQL или выражение PL / SQL) - PullRequest
0 голосов
/ 22 мая 2019

Я хочу избегать использования динамических действий - так как обновление всех элементов занимает слишком много времени.

1 / У меня есть: P1_DOGS, который показывает количество собак в списке.Для вычисления: P1_DOGS я использую оператор SQL

sum(QUANTITY) 
from TABLE1
where TABLE1.ANIMAL = 'DOG'

2 / У меня есть: P1_CATS, который показывает количество кошек в списке.Для вычисления: P1_CATS я использую оператор SQL:

-sum(QUANTITY)  /* this should have negative sign ("-") */
from TABLE1
where TABLE1.ANIMAL = 'CAT'

3 / И, наконец, у меня есть: P_DOGS_CATS.Я устанавливаю значение: P_DOGS_CATS, используя динамическое действие (: P_DOGS *: P_CATS) всякий раз, когда изменяются элементы P1_DOGS или: P1_CATS.

Мой вопрос.Можно ли избежать динамического действия?Можно ли рассчитать: P_DOGS_CATS напрямую из TABLE1, используя тело функции PL / SQL, выражение PL / SQL или оператор SQL?

...