Przykłady z kursu SQL Oracle z Udemy
Wypisanie zwiększowej wartości dla konkretnego ID
select
employee_id,
salary
from employees
model
dimension by (employee_id)
measures (salary)
rules (
salary[employee_id = 100] = salary[employee_id = 100] + 999
)
Wypisanie nowej wartości dla zakresu odpowiednich ID okreslonego pętlą
select
employee_id,
salary
from employees
model
dimension by (employee_id)
measures (salary)
rules (
salary[for employee_id from 100 to 105 increment 1] = 999
)
Wypisanie zwiększowej wartości dla zakresu odpowiednich ID okreslonego pętlą
select
employee_id,
salary
from employees
model
dimension by (employee_id)
measures (salary)
rules (
salary[for employee_id from 100 to 110 increment 1] = salary[cv()] + 999
)
Wypisanie tylko zwiększonych wartości dla zakresu odpowiednich ID okreslonego pętlą
select
employee_id,
salary
from employees
model return updated rows
dimension by (employee_id)
measures (salary)
rules (
salary[for employee_id from 100 to 110 increment 1] = salary[cv()] + 999
)
Wypisanie tylko zwiększonych wartości dla zakresu określonego konkretnymi ID
select
employee_id,
salary
from employees
model return updated rows
dimension by (employee_id)
measures (salary)
rules (
salary[for employee_id from 100 to 110 increment 1] = salary[cv()] + 999
)
Wypisanie tylko zwiększonych wartości dla zakresu określonego podzapytaniem
select
employee_id,
salary
from employees
model return updated rows
dimension by (employee_id)
measures (salary)
rules (
salary[for employee_id in(select level + 99 from dual where level in(100,101) connect by level 
)
Wypisanie sumy bieżącego wiersza, kolejnego i trzeciego w kolei
select employee_id, salary
from employees
model
  dimension by (employee_id)
  measures (salary)
  RULES  (
    salary[any] order by employee_id =
      salary[cv()] + salary[cv() +1] + salary[cv() +3]
    )
order by employee_id
fetch first 10 rows only
