MODEL рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдЪрдпрдирд┐рдд рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдЕрдВрджрд░ рдХреБрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИ (рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рд╕рднреА рдЪрдпрди рдпреЛрдЧреНрдп рдХреЙрд▓рдо MODEL рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП) - рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд╛рд░реНрдЯреАрд╢рди, BY, рдЖрдпрд╛рдо BY рдпрд╛ ME рдХреЗ тАЛтАЛрдорд╛рдзреНрдпрдо рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдХреНрд╡реЗрд░реАред
SELECT employee_id, sum(amount)
FROM sales
GROUP BY employee_id;
рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛
SELECT employee_id, amt
FROM sales
GROUP BY employee_id
MODEL PARTITION BY (employee_id)
DIMENSION BY (0 dummy)
MEASURES (sum(amount) amt)
RULES ();
рдирд┐рдпрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рд╢рдмреНрджрд╛рд░реНрде рд╣реИрдВ: UPDATE, UPSERT, UPSERT ALLред рдЕрджреНрдпрддрди рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рдЖрдЗрдЯрдо рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпреВрдкреАрдПрд╕рдИрдЖрд░рдЯреА (рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдХреЛ рд╕реНрдерд┐рддреАрдп рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрджрд▓рд╛ рдФрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпреВрдкреАрдПрд╕рдИрдЖрд░рдЯреА рд╕рднреА рдЖрдкрдХреЛ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЗрдЯрдо рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╢рдмреНрджрд╛рд░реНрде рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢ рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ), рдФрд░ рдкреВрд░реЗ рдмреНрд▓реЙрдХ рдХреЗ рд╕реНрддрд░ рдкрд░ (рдлрд┐рд░ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдирд┐рдпрдо рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)ред
рдпрд╣ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ UPSERT ALL рдлреЙрд░ рд▓реВрдк рдХреА рддрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЪрд╛рд░ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред
- рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рддрддреНрд╡ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
- рдкреНрд░рддреНрдпреЗрдХ рдЖрдпрд╛рдо рдХреЗ рд▓рд┐рдП, рдЕрджреНрд╡рд┐рддреАрдп рд╕реВрдЪрдХрд╛рдВрдХ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред
- рдЗрди рд╕реЗрдЯреЛрдВ рдХреЗ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЙрддреНрдкрд╛рдж рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
- рдХрд╛рдо рдореЗрдВ рдореМрдЬреВрдж рд╕рднреА рдЧреИрд░-рдореМрдЬреВрдж рддрддреНрд╡ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг
рдЕрдВрдд рдореЗрдВ, рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ MODEL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдПрдХ рд▓рд╛рдЗрди рдореЗрдВ рдкреАрдиреЗ рд╡рд╛рд▓реЗ рдХреЙрдлреА рдХреА рд╕реВрдЪреА рджреЗрдВрдЧреЗ:
SELECT day, substr(type, 2) listing
FROM coffee
MODEL RETURN UPDATED ROWS
PARTITION BY (day)
DIMENSION BY (row_number() OVER ( PARTITION BY day ORDER BY type) position)
MEASURES (type, cnt)
RULES ITERATE (100500) UNTIL (presentv(type[iteration_number + 2], 1, 0) = 0) (
type[0] = type[0] || ', ' || cnt[iteration_number + 1] || ' x ' || type[iteration_number + 1]
)
ORDER BY day;
DAY LISTING
---------- ----------------------------------------
1 1 x espresso, 1 x turkish
2 1 x black, 1 x espresso, 2 x turkish
3 3 x latte
4 2 x black, 1 x ice
рдлрд╝рдВрдХреНрд╢рди presentv (рд░реЗрдлрд░реА, arg1, arg2) рд╕реЗ , рдпрд╣рд╛рдБ рдирдпрд╛, рдпрд╣ arg1 рд░рд┐рдЯрд░реНрди рдЕрдЧрд░ рд░реЗрдлрд░реА рд╕рдВрджрд░реНрдн рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдореМрдЬреВрджрд╛ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ NULL рдорд╛рди рдФрд░ arg2 рдЕрдиреНрдпрдерд╛ред рд▓рд╛рдЗрди рдирдВрдмрд░рд┐рдВрдЧ рдФрд░ рдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЫрд╛рдВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди (row_number () OVER (рдкрд╛рд░реНрдЯрд┐рд╢рди рдмрд╛рдп рджрд┐рди ORDER BY рдкреНрд░рдХрд╛рд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЙрдбрд▓ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди рджреЛрдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди (рд╡рд┐рднрд╛рдЬрди рдмрд╛рдп) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░, рдЖрдЦрд┐рд░рдХрд╛рд░, рдПрдХ рдЬреНрдпрд╛рдорд┐рддреАрдп рдЙрджрд╛рд╣рд░рдгред рдЕрдиреНрддрд░реНрд╡рд┐рднрд╛рдЬрдХ рдЦрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ [p1, P2] рд╕реАрдзреА рд░реЗрдЦрд╛ рдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдЖрдкрдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрдВрдбреЛрдВ рд╕реЗ рдЖрдЪреНрдЫрд╛рджрд┐рдд рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреА рдХреНрд░рдордмрджреНрдз рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
SELECT * FROM lines;
P1 P2
---------- ----------
1 6
5 7
2 4
8 20
11 28
30 32
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреА 2> = рдкреА 1, рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдЦрдВрдбреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧреЛрдВ рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб:
SELECT p1, max(p2) p2
FROM (
SELECT p1, p2 FROM lines
MODEL DIMENSION BY (row_number() OVER ( ORDER BY p1, p2) rn)
MEASURES (p1, p2)
RULES AUTOMATIC ORDER (
p1[rn > 1] ORDER BY rn = CASE sign(p2[cv(rn) - 1] - p1[cv(rn)])
WHEN 1 THEN p1[cv(rn) - 1]
ELSE p1[cv(rn)]
END ,
p2[rn > 1] ORDER BY rn = greatest(p2[cv(rn) - 1], p2[cv(rn)])
)
)
GROUP BY p1
ORDER BY p1;
P1 P2
---------- ----------
1 7
8 28
30 32
рдореЙрдбрд▓ рдХреЗ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдкрд╣рд▓реЗ рдмрд╛рдПрдВ рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрд░рдорд╛рдВрдХрд┐рдд (row_number () OVER (ORDER BY p1, P2)) рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рдХреА рдУрд░ рд╕рдВрдЦреНрдпрд╛ (ORDER BY rn directive) рдкрд░ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд╣рд▓реА рдмрд╛рд░, рд╕рдорд╛рдирддрд╛ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрд╕ рдЖрджреЗрд╢ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рджреЗрдЦреЗ рдЧрдП рдЦрдВрдб рдХрд╛ рдмрд┐рдВрджреБ p1 рдкрд┐рдЫрд▓реЗ рдЦрдВрдб рдХрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдкрд┐рдЫрд▓реЗ рдЦрдВрдб рдХреЗ p1 рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред P2 рдХреЛ рд╡рд░реНрддрдорд╛рди рдФрд░ рдкрд┐рдЫрд▓реЗ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд╣реА P2 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдиреАрдЪреЗ рдЬрд╛рдХрд░, рд╣рдо рдЦрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХреА рдЧрдИ рд╕реАрдорд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЖрджреЗрд╢ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреА 1 рдФрд░ рдкреА 2 рдХреЛ рд╡рд░реНрддрдорд╛рди рдЦрдВрдб рдХреЗ рдмрджрд▓реЗ рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛рдПред рдпрджрд┐ рдЖрдк рдирд┐рд░реНрджреЗрд╢ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдирд┐рдпрдо рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рджреВрд╕рд░рд╛ред рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреА рдкрд░рд┐рдзрд┐ рдХреЗ рдЖрджреЗрд╢ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ рдкреНрд░рджрд░реНрд╢рди
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ
- рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрдЯрд┐рд▓ рд░рд┐рдкреЛрд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдкрдардиреАрдпрддрд╛ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдореЗрдВ рдЖрд╕рд╛рдиреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ);
- рдирдореВрдирд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ;
- рдЕрдиреБрд░реЛрдз рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рднрд╛рд╖рд╛ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ (рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ MODEL рдореЗрдВ рдирд┐рдпрдо рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ);
- рдЬрдм рдореЙрдбрд▓ рдЕрднреА рднреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рддреЛ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдкреБрдирд░рд╛рд╡реГрддреНрдд рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ PL / SQL рд╕рдВрдХреНрд░рдордг рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрдореА рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ;
- рд╢реИрдХреНрд╖рдгрд┐рдХ рд░реБрдЪрд┐ (рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХреЗ рдмрдЬрд╛рдп рдШреЛрд╖рдгрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг)ред
- SQL рдореЙрдбрд▓ рдХреА рдШреЛрд╖рдгрд╛ [рддреЗрдЬреА] - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдирд┐рдпрдореЛрдВ рдХреЛ рдХреНрд╡реЗрд░реА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ);
- SQL рдореЙрдбрд▓ ACCCLIC [рддреЗрдЬреА] - рд╕реЗрд▓ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ;
- SQL рдореЙрдбрд▓ CYCLIC рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЬрдЯрд┐рд▓ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдзреАрдорд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред