рд▓реЗрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдирд╛рдо рдХрд╛ рдЕрд░реНрде рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реЗрдЦрдХ рдпрд╣ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдпрд╣ рдЙрд╕рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕рд╛рде рд╣реА рдпрд╣ рднреА рдмрддрд╛рдПрдВ рдХрд┐ SUBJ рдХреЗрд╡рд▓ рдПрдХ рдлреИрд╢рдиреЗрдмрд▓ рддрдХрдиреАрдХ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ "рдПрдХ рджреЛрдЧреБрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╡реНрдпрд╡рд╕рд╛рдп - рджреЛрдиреЛрдВ рд╕реБрдЦрдж рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реИред"
рдпрд╣ рджреЗрдЦрдирд╛ рд╣рдореЗрд╢рд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА рд▓реЛрдЧ рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВ (рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛, рдХреНрдпреЛрдВ рдирд╣реАрдВ), рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╡реЗ рдХрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЙрдирдХреА рд░рдЪрдирд╛ рдХреЛ рдЦреБрдж рдкрд░ рднреА рдкрд░рдЦрддреЗ рд╣реИрдВред рд╡рд┐рд╢рд╛рд▓ рд╕рдорд┐рддрд┐рдпреЛрдВ рдХреА рд╕реНрдорд╛рд░рдХреАрдп рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдЬреЛ рдмреНрд░рд╣реНрдорд╛рдВрдб рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдЧреЗ рд╕рджреНрднрд╛рд╡ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗред
рддреБрд▓рдирд╛ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдлреЛрд░рдЯреНрд░рд╛рди рдФрд░
рдкреАрдПрд▓ / 1 рдХрд╛ рднрд╛рдЧреНрдпред рдЕрдм рдЗрд╕ рдкреАрдПрд▓ / 1 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреМрди рдпрд╛рдж рд░рдЦреЗрдЧрд╛ред
рдЗрд╕ рджреГрд╖реНрдЯрд┐ рд╕реЗ,
AWK , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рд╕рдлрд▓ рд╣реИред рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдирд╛рдо рдореЗрдВ рдП,
рдЕрд▓реНрдлреНрд░реЗрдб рдЕрд╣реЛ ,
рдбреНрд░реИрдЧрди рдмреБрдХ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдбрдмреНрд▓реНрдпреВ
рдкреАрдЯрд░ рдкреАрдЯрд░рдмрд░ рд╣реИ ,
рдЬрд┐рдирдХрд╛ рдлреЛрд░рдЯреНрд░рд╛рди -77 рдореЗрдВ рд╣рд╛рде рдерд╛, рдХреЗ
рдмреНрд░рд╛рдпрди рдХреЗрд░реНрдирд┐рдЧрди рд╣реИ , рдЬрд╣рд╛рдВ рд╡рд╣ рдЙрдирдХреЗ рдмрд┐рдирд╛ рд╣реЛрдЧрд╛ред рднрд╛рд╖рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдкрд╛рдЗрдк рдореЗрдВ рдСрди-рдж-рдлреНрд▓рд╛рдИ рдЯреЗрдХреНрд╕реНрдЯ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИред
рднрд╛рд╖рд╛ рдЯрд╛рдЗрдкрд▓реЗрд╕ рд╣реИ (
рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИ ), рдЗрд╕рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ C рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЗрд╕рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреНрд╖рдорддрд╛рдПрдВ, рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпрд╛рдБ, рд╕реНрдЯреНрд░реАрдо рд╕реНрдЯрд╛рд░реНрдЯ / рдПрдВрдб рдЗрд╡реЗрдВрдЯреНрд╕, рдиреНрдпреВрд▓рд╛рдЗрди рдЗрд╡реЗрдВрдЯ ...
рд▓реЗрдЦрдХ рд╣рдореЗрд╢рд╛ рдЗрд╕ рднрд╛рд╖рд╛ рд╕реЗ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рджреБрднрд╛рд╖рд┐рдП рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, UNIX рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рддрд╣рдд рдпрд╣ рд╣рдореЗрд╢рд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдпрд╣ рдХреЗрд╡рд▓ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд▓реЗрдЦрдХ рдХреЛ рдХрд╛рдлреА рдмрд╛рд░ SQL + AWK рдмрдВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реАрд▓рд┐рдПред SQL рдЕрднреА рднреА рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╕рдордЧреНрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реАрдорд┐рдд рдЕрд╡рд╕рд░ рджреЗрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛ-рдЖрдпрд╛рдореА рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВ?
рд▓реЗрдХрд┐рди рдЧреНрд░реБрдк рдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрд╣рдиреЗ рджреЗрдВ рдХрд┐, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓рд╛рдЦреЛрдВ (рдпрд╛ рдФрд░ рднреА рдЕрдзрд┐рдХ) рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╕рд╕реНрддрд╛ рдЖрдирдВрдж рдирд╣реАрдВ рд╣реИред
UPD: рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рд╕рд╣реА рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИ (рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ)SQL рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдореВрд╣реАрдХрд░рдг рдХрд╕реМрдЯреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реИрд╢ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рдордЧреНрд░ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдореЗрдВ рд╣реИрд╢ рдореИрдк рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореБрдлреНрдд рдореЗрдореЛрд░реА рд╣реЛред
рддрдм рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдкрдврд╝реА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕ рдкрдврд╝рдиреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧрдгрдирд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ред
рдПрдХ рд╣реА рддрдХрдиреАрдХ рдХреЛ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди (рдиреАрдЪреЗ) рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд╕ рд╕рдВрджрд░реНрдн "рдореЛрдЯрд╛" рд╣реЛрдЧрд╛ред
рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рд╕рдореВрд╣реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдпрд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ, рддреЛ SQL рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕реВрдЪрдХрд╛рдВрдХ рдмрдирд╛рдиреЗ рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдкрд╛рд╕ рдореЗрдВ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реИред
рд╕рд░рд▓ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ - рдПрдХ рд╕рд╛рдзрд╛рд░рдг COUNT рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИ - рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕реВрдЪрдХрд╛рдВрдХ (cx, рд╕рд╛рдЗрдмрд░, рдХрд╛рдЙрдВрдЯ), рдлрд┐рд░ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рднреА рдХреИрд╢реНрдб рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╣реЛрдЧрд╛ред рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕, рд╕рдореВрд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдЧреИрд░-рддреБрдЪреНрдЫ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рд▓рдЧрд╛рддрд╛рд░ (рдбреА) рдпрд╣ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рдирд╛ рдХрд┐ рдбреЙрдХреНрдЯрд░ рдиреЗ рдХреНрдпрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рд╣реИред
рд╕рд╛рд░рд╛рдВрд╢: SQL рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рд╕реЙрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╡рд╣ рдЧреНрд░реБрдк BY рдХреЗ рдмрд╛рдж рд╕рдореВрд╣реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд░рд┐рдХрд▓рд┐рдд рдореВрд▓реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣реАрдХрд░рдг (рдЕрдХреНрд╕рд░) рдХреЗрд╡рд▓ рдмрд╣реБрдд рдорд╛рдорд▓рд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
psql -t -q -c 'select x, y from samples' | gawk -f mk_hist2d.awk
рдЬрд╣рд╛рдБ mk_hist2d.awk рд╕рд╣рдпреЛрдЧреА рд╕рд╛рд░рдгреА рдореЗрдВ рдЖрдБрдХрдбрд╝реЗ рдЬрдорд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ
# mk_hist2d.awk { bucket[int($2*0.01), int($3*0.01)]+=$1; } END { for (i=0; i < 500; i++) for (j=0; j < 500; j++) { if ((i, j) in bucket) print i*100." "j*100." "bucket[i, j]; else print i*100." "j*100." 0"; } }
рдПрдХ BUT рд╣реИ - рд╕рд░реНрд╡рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдорд╢реАрди рддрдХ рдкреВрд░рд╛ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдЗрддрдирд╛ рд╕рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХреНрдпрд╛ SQL рдХреНрд╡реЗрд░реА рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рд╕рдВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧреА рдХреЗ рд╕рд╛рде рд╕реБрдЦрдж рд╕рдВрдпреЛрдЬрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛? рд╣рд╛рдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╕реНрдЯрдо рдХреБрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдХрд╕реНрдЯрдо рд╕рдХрд▓ рдХрд╛рд░реНрдп
рд╕рдмрдЬ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рд╣рд░ рдЬрдЧрд╣ рдпрд╣ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- PostgreSQLред рдкреНрд░рд▓реЗрдЦрди рдпрд╣рд╛рдБ рд╣реИ ред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ ред
рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЕрдзрд┐рдХрддрдо рдЦрд╛рддрд╛ рд╢реЗрд╖ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
рдФрд░ рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмреВрд▓рд┐рдпрди рдХреЙрд▓рдо рдореЗрдВ рдХреНрдпрд╛ рдЕрдзрд┐рдХ рд╣реИ - рд╕рдЪ рдпрд╛ рдЧрд▓рддред
рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ -
CREATE AGGREGATE mode(boolean) ( SFUNC = mode_bool_state, STYPE = INT[], FINALFUNC = mode_bool_final, INITCOND = '{0,0}' );
рдпрд╣рд╛рдВ SFUNC рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдЗрд╕рдореЗрдВ рдкрд╣рд▓рд╛ рддрд░реНрдХ STYPE рдХрд╛ рд╣реИ ред
FINALFUNC рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреБрд▓ рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред
INITCOND - рдЖрдВрддрд░рд┐рдХ рд░рд╛рдЬреНрдп ( STYPE ) рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдХрд╛ рдЖрд░рдВрднреАрдХрд░рдг, рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ C рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЖрдк рдЙрд╕ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдореБрдХреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ), рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИред рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рджрд╛рдпрд░реЗ рдХреЗ рдмрд╛рд╣рд░, рдПрдХ рдХреЛ рдЕрднреА рднреА рдЬрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред - MS SQL
рдкрд╣рд▓реЗ (2000), рдЕрдиреБрд░реЛрдз рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ ActiveX рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдЕрдм (2016+) рдпрд╣ рд╕реАрдПрд▓рдЖрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдПрдХ рдЕрд╕реЗрдВрдмрд▓реА рдмрдирд╛рдирд╛ рдФрд░ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рдЖрдк рдПрдХ рдПрдЧреНрд░реАрдЧреЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЬреНрдпрд╛рдорд┐рддреАрдп рдорд╛рдзреНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг , рд╕рд╛рде рд╣реА рд╕рд╛рде рддрд╛рд░ рдХрд╛ рд╡рд┐рд▓рдп: рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рд░рд╛рдЬреНрдп рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдПред - рдУрд░реЗрдХрд▓ред
рдУрд░реЗрдХрд▓ рдореЗрдВ, рдпрд╣ ODCIAggregate Data Cartridge (рдЗрдВрдЯрд░рдлрд╝реЗрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдореБрдЪреНрдЪрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдХрд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ 4 рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ
- рдЖрд░рдВрднреАрдХрд░рдг (ODCIAggregateInitialize), рд╕реНрдерд┐рд░, рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП
- рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ (ODCIAggregateIterate), рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдкрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдорд░реНрдЬ (ODCIAggregateMerge), рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╕рдореБрдЪреНрдЪрдп рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдЦрддреНрдо (ODCIAggregateTerminate) - рдкрд░рд┐рдгрд╛рдо рдЖрдЙрдЯрдкреБрдЯ
рдЙрджрд╛рд╣рд░рдг: 1 , 2 , 3 , 4 ред - рдбреАрдмреА 2ред
DB2 рдореЗрдВ рдХрд╕реНрдЯрдо рд╕рдореБрдЪреНрдЪрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди рдЖрдк рдПрдХ рдорд╛рдирдХ рдлрд╝рдВрдХреНрд╢рди (рдпрджреНрдпрдкрд┐ рдореИрдХреНрд╕) рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░ (рдЬрд╛рд╡рд╛ рдореЗрдВ) рдореЗрдВ рдкрд░реНрдЪреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдлреЙрд░реНрдо рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
CREATE TYPE Complex AS ( real DOUBLE, i DOUBLE ) тАж CREATE TABLE complexNumbers ( id INTEGER NOT NULL PRIMARY KEY, number Complex ) тАж SELECT sum..real, sum..i FROM ( SELECT GetAggrResult(MAX(BuildComplexSum(number))) FROM complexNumbers ) AS t(sum)
рдЗрди рд╕рднреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ?
- рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп, рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреБрдЫ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ AGGREGATE рдпрд╛ TYPE рд╣реЛред рдХрдо рд╕реЗ рдХрдо, рдЙрдЪрд┐рдд рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдмрд╕ рдЕрдкрдиреЗ рдШреБрдЯрдиреЗ рдкрд░ рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
- рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдЪрд╛рд╣реЗ рд╡рд╣ C, C # рдпрд╛ Java рд╣реЛред
рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд┐рд░ рд╕реЗ, рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рд╕рдм рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП ...
- рдЖрд░рдВрднрд┐рдХ рдХрдард┐рдирд╛рдИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдЯреЛрдХрд░реА рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╕рд╛рди рд╣реИ - рд╣рдо рд╕рдордЧреНрд░ (PostgreSQL) рдФрд░ рдкреВрд░реЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп рд╡рд╛рдВрдЫрд┐рдд INITCOND рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЯреЛрдХрд░реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреБрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдЖрдк рдПрдХ рдЧрдВрджреА рдЪрд╛рд▓ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпреВрдирд┐рдпрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд▓рд╛рдЗрди (рдЖрдЧреЗ) рдФрд░ рдбреЗрдЯрд╛ рд╕реЗ рдЦрд┐рд╕рдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рд╕рдВрджрд░реНрдн рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдкрд╣рд▓реА рд▓рд╛рдЗрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред
- рдлрд┐рд░ рднреА, рд╡рд░реНрдгрд┐рдд рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдХрд╕реНрдЯрдо рд╕рдореБрдЪреНрдЪрдп рдЖрдкрдХреЛ рдХреБрдЫ рднреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
- рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕рдореБрдЪреНрдЪрдп рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рдХрдо рд╕реЗ рдХрдо PostgreSQL рдФрд░ Oracle (рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг) рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╕рдЪреНрдЪрд╛рдИ рдХреЛ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдордзреНрдпрд╡рд░реНрддреА рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз / deserialize рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рдзрд╛рд░рд╛рдУрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдлреНрд░реАрдЬ рднреА рдХрд░реЗрдВред
рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди
SQL: 2003 рдорд╛рдирдХ рдореЗрдВ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдлрд┐рд▓рд╣рд╛рд▓, рд╡реЗ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХрд╕реНрдЯрдо рдХреБрд▓ рдХрд╛рд░реНрдп рднреА рдПрдХ рд╡рд┐рдВрдбреЛ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рд╡рд┐рд╕реНрддрд╛рд░ рдпрд╣ рд╣реИред рдФрд░ SQL: 2003 рд╕реЗ рдкрд╣рд▓реЗ, рдХреБрд▓ рдХрд╛рд░реНрдпреЛрдВ рдиреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рдЬреЛ рдпрд╛ рддреЛ рдкреВрд░реЗ рдкрд░рд┐рдгрд╛рдо рдпрд╛ рдЙрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдерд╛, рдЬреЛ рдХрд┐ рдЧреНрд░реБрдк BY рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдлрд╝реАрд▓реНрдб рдорд╛рдиреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рдЕрдиреБрд░реВрдк рдерд╛ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдм рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреЛ рдореИрдирд┐рдкреБрд▓реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝реА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИред
рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХреЙрд▓рдо рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рдордЧреНрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реА рд╕реНрдЯреНрд░реАрдо рдХреЛ рдзреНрд╡рд╕реНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдореЗрдВ, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдВрдбреЛ рдХреЛ рдЙрд╕рдХреЗ рд╕рдВрджрд░реНрдн (рд╡рд┐рдВрдбреЛ) рдореЗрдВ рдХрдИ рд╕рдореБрдЪреНрдЪрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдХрдИ рд╕рдордЧреНрд░ рдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддреЗ рдереЗ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕рднреА рдПрдХ рдЦрд┐рдбрд╝рдХреА рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рдереЗред
рдмрдбрд╝реЗ рдЭрдЯрдХреЗ
- рдУрд╡рд░ ()
рдЦрд┐рдбрд╝рдХреА рдкреВрд░реЗ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдирдореВрдиреЛрдВ рдХреЗ рд░рд┐рдЯрд░реНрди рд╕реЗ рдХреНрд╡реЗрд░реА ' рд╕реЗрд▓реЗрдХреНрдЯ рдХрд╛рдЙрдВрдЯ (1) 169 рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ,' рд╕реЗрдореНрдкрд▓реНрд╕ рд╕реЗ ' (1) рдУрд╡рд░ () рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ , рд╣рдореЗрдВ рдПрдХ рдХреЙрд▓рдо рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ 169 рдмрд╛рд░ 169 рдмрд╛рд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред - рдХрднреА (рд╡рд┐рднрд╛рдЬрди рджреНрд╡рд╛рд░рд╛)
рдпрд╣ GROUP BY рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдордЧреНрд░ рдХрд╛рд░реНрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдирдореВрдиреЗ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЙрд▓рдо рд╡реИрд▓ рд╣реИ, рдбреЗрдЯрд╛ рд╕рдВрдЦреНрдпрд╛ 1 рд╕реЗ 169 рддрдХ рд╣реИред
рдлрд┐рд░ рдХреНрд╡реЗрд░реА ' рд╕реЗрд▓реЗрдХреНрдЯ рдХрд╛рдЙрдВрдЯ (1) рдУрд╡рд░ (рдкрд╛рд░реНрдЯреАрд╢рди (12 + рд╡реИрд▓) / 13) рд╕реИрдВрдкрд▓ рд╕реЗ ' рдПрдХ рдХреЙрд▓рдо рд▓реМрдЯрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╡реИрд▓реНрдпреВ 13 рдмрд╛рд░ 169 рд▓рд┐рдЦреА рдЧрдИ рд╣реИред
- OVER (рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛)
рдкрд╛рд░реНрдЯрд┐рд╢рди рдмрд╛рдп рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдХрд░реНрд╕рд░ рдХреЗ рджреМрд░рд╛рди рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдВрдбреЛ рд╕рдореВрд╣ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рд╡рд░реНрддрдорд╛рди рдХрд░реНрд╕рд░ рд╕реНрдерд┐рддрд┐ рддрдХ рдлреИрд▓реА рд╣реБрдИ рд╣реИред рдирддреАрдЬрддрди, рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдордЧреНрд░ рдХреЙрд▓рдо рдореЗрдВ рд╕рдорд╛рди рдореВрд▓реНрдп рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЕрдкрдирд╛ рд╣реИред рд╕рдВрдЪрдпреА рдорд╛рддреНрд░рд╛ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо
'рд╕реИрдВрдкрд▓ рд╕реЗ рд╡реИрд▓ (рдУрд╡рд░) (рд╡реИрд▓ рджреНрд╡рд╛рд░рд╛ рдЖрджреЗрд╢) ' рдПрдХ рдХреЙрд▓рдо рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ nth рддрддреНрд╡ рдореЗрдВ 1 рд╕реЗ n рддрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдпреЛрдЧ рд╣реЛрдЧрд╛ред - OVER (ROWS)
рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛ рдлрд╝реНрд░реЗрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдпрд╛ ORDER BY рд░реЗрдВрдЬ рдХреА рд╢реБрд░реБрдЖрдд / рдЕрдВрдд рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ' ... ROWS 1 PRECEDING ... ' рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рдФрд░ 1 рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред A ... ... ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING ... '- рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХрд░реНрд╕рд░ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рджреЛ рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрддреА рд╣реИрдВред
рдЗрд╕ рдореЛрдб рдореЗрдВ CURRENT ROW рд╡рд░реНрддрдорд╛рди рдХрд░реНрд╕рд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ' ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ' рдХрд╛ рдорддрд▓рдм рд╣реИ рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рд╕реЗ рд▓реЗрдХрд░ рд░реЗрдВрдЬ рдХреЗ рдЕрдВрдд рддрдХред - рдУрд╡рд░ (рд░реЗрдВрдЬ)
рдЙрд╕ CURRENT ROW рдореЗрдВ ROWS рд╕реЗ рднрд┐рдиреНрди рдХрд╛ рдЕрд░реНрде рдпрд╣рд╛рдБ рд╡рд┐рдВрдбреЛ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд░реВрдк рдореЗрдВ ORDER BY рд╕реЗ рд░реЗрдВрдЬ рдХреА рд╢реБрд░реБрдЖрдд рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрдВрдд рдХреЗ рд░реВрдк рдореЗрдВ - ORDER BY рд░реЗрдВрдЬ рдХреА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ред
рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдереЛрдбрд╝рд╛ рджрд░реНрджрдирд╛рдХ рдЕрд╣рд╕рд╛рд╕ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛, рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдФрд░ рдХрд╕рдХрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдореЗрдВ рд╕рдореЗрдЯ рджрд┐рдпрд╛ред
рд░рд┐рдХреЙрд░реНрдб-рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕
рдХреБрд▓ / рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдгрд╛рдореА рдкрдВрдХреНрддрд┐ рдЖрдиреЗ рд╡рд╛рд▓реА рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдЬреАрд╡рди рдореЗрдВ, рдРрд╕рд╛ рдкрддреНрд░рд╛рдЪрд╛рд░ рд╣рдореЗрд╢рд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╣рд╕рдВрдпреЛрдЬрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ 10X10 рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП
, рдЗрд╕реЗ 672X672 рд▓рдЧреЗрдЧрд╛)ред рдпрд╣ рдПрдХ рдкрд╛рд╕ рдореЗрдВ рдХрд┐рдпрд╛
рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо 10 рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдХреБрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо 10 рдорд╛рдиреЛрдВ рдХреА 10 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рддрддреНрд╡ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХрд┐рддрдиреЗ рд╣реИрдВ)ред
рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ - рддреЛ рдХреНрдпрд╛, PostgreSQl рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдЖрдк рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рджреЛ рдЖрдпрд╛рдореА рд╕рд░рдгреА рд╡рд╛рдкрд╕
рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (Ex: 'ARRAY [[1,2], [3,4]')ред рдпрд╛ рдмрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВред
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рднреАрддрд░ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдХрд╛рд░ рд░рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЧреАрддрд╛рддреНрдордХ рд╡рд┐рд╖рдпрд╛рдВрддрд░рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдирд╛ рд╣реИред
рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдЖрдХрд╛рд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рд╣реИ, рдпрд╣ рд▓рд╛рдЦреЛрдВ рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдпреВрд░реЗрд╢рд┐рдпрд╛ рдХрд╛ рд╕рдореБрджреНрд░ рддрдЯ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рдмрд╣реБрдд рд╣реА рдореЛрдЯрд╛ рдЬреНрдпрд╛рдорд┐рддрд┐ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЫреАрдВрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рдХрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдХреБрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рдХреА рдХреМрдбрд╝реА рд╣реИ, рдХрд┐ рдХреЛрдИ рднреА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, DBMS рдореЗрдВ рдЬрд┐рдпреЛрдореЗрдЯреНрд░реА рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдпреЛрдореЗрдЯреНрд░реА рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВ, ...
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЯреЗрдмрд▓ рдкреЙрдЗрдВрдЯ рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддреАрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдПрдХ рдмрд┐рдВрджреБ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ, рдкреВрд░реЗ рдмреВрдБрдж рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рд╣рд░ рдЬрдЧрд╣ рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ рд▓реАрдХ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдЖрд░реНрдХрдПрд╕рдбреАрдИ рдореЗрдВ
рдерд╛ ред
рдЬреИрд╕реЗ рд╣реА рдЬреНрдпрд╛рдорд┐рддрд┐ рдмреВрдБрдж рдХрд╛ рдФрд╕рдд рдЖрдХрд╛рд░ рдкреГрд╖реНрда рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реАрдзреЗ рдЕрдВрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд▓рд╛рднрджрд╛рдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЕрдВрдХреЛрдВ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рднреМрддрд┐рдХ рдЕрд╡рд╕рд░ рдерд╛, рддреЛ рд╢рд╛рдпрдж рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдкрд╣рд┐рдпрд╛ рдлрд┐рд░ рд╕реЗ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред
Covariance рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЕрднреА рднреА рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХреЗ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░рд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕рд╛рде рдЕрдВрдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдХреА рдПрдХ рдзрд╛рд░рд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд / рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп
- рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреЗрдЯрд╛ рд╣реИрдВ, рд╡реЗ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рдмрд┐рдирд╛ "рдвреЗрд░" рдореЗрдВ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рдмрд╕ 'рдЬрд▓реНрджреА' рдбрд┐рд╕реНрдХ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдереЗ
- рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╣реИрдВ
- рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рднреАрддрд░, рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдФрд╕рдд, рдХреЗрд╡рд▓ рдФрд╕рдд рд╕реНрдЯреЛрд░, рдорд╛рдк рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╡рд┐рдЪрд░рдг
- рдпрд╣ рд╕рдм рдЬрд▓реНрджреА рд╕реЗ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИрдВ?
- рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рднреАрддрд░, рд╕рдордп рдЕрдВрддрд░рд╛рд▓ / рд╢реНрд░реЗрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЫрдВрдЯрдиреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдХрд╛ рдЦрдВрдбрди рдХрд░рддрд╛ рд╣реИред
- рдпрджрд┐ рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ), рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЛ SQL рдкреНрд░реЛрд╕реЗрд╕рд░ рддрдХ рдкрд╣реБрдВрдЪрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рддреЛ рдЖрдк рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдПрдХ рдкрд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдПрдХ рдЕрд▓рдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦреЗрдВ рдЬреЛ рдпрд╣ рд╕рдм рдХрд░реЗрдЧрд╛ред PL / SQL рдпрд╛, рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ C / C ++ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╣реИред
- рд░рд┐рдХреЙрд░реНрдб рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпред рд╢рд╛рдпрдж рд╡реЗ рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
A.4 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рддрдВрддреНрд░ рд╣реИрдВ - рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рдФрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛рд░реНрдпред
- рдХрдиреНрд╡реЗрдпрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рддрдВрддреНрд░ рдУрд░реЗрдХрд▓ (9i, 2001 рд╕реЗ рд╢реБрд░реВ) рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдЬрдорд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдбрд╕реЗрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд╕реНрдЯрдбрдЖрдЙрдЯ рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рд╛рде рдФрд░ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реА рджреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕реНрдЯреИрдирд┐рди рдХреЗ рдЕрдиреБрд░реВрдк)ред
рдпрд╛рдиреА рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рд╢реБрд░реВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ
FUNCTION f_trans(p refcur_t) RETURN outrecset PIPELINED IS тАж
рдФрд░ рд╢рд░реАрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ
LOOP тАж out_rec.var_char1 := in_rec.email; out_rec.var_char2 := in_rec.phone_number; PIPE ROW(out_rec); тАж END LOOP;
рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ
SELECT * FROM TABLE( refcur_pkg.f_trans( CURSOR(SELECT * FROM employees WHERE department_id = 60)));
рдЬрдм рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛рд░реНрдп рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдХрд╕реНрдЯрдо рд╕рдореБрдЪреНрдЪрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдмреНрд░рд╛рд╡реЛ, рдУрд░реЗрдХрд▓!
рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ (2014), рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛рд░реНрдп рднреА DB2 (IBM i 7.1 TR9, i 7.2 TR1) рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдП ред - рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рди рддреЛ MS SQL рдФрд░ рди рд╣реА PostgreSQL рдПрдХ рдХреБрд▓ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдПрдХ рдХрд░реНрд╕рд░ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдареАрдХ рд╣реИ, рдЪрд▓реЛ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк, рдХрд░реНрд╕рд░ рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВ, рдЗрд╕реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдХрд░реНрд╕рд░ рдХреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рдПрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, MS SQL рдореЗрдВ рдХрд░реНрд╕рд░ рдХреЛ рдХрд┐рд╕реА рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ , рдХреЗрд╡рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рдХрд░реНрд╕рд░ рдмрдирд╛рдирд╛ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд╡рд╣реА PostgreSQL рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдареАрдХ рд╣реИ, рд╕рдм рдареАрдХ рд╣реИ, рдмрд╕ рдХрд░реНрд╕рд░ рдЦреЛрд▓реЗрдВ, рдЗрд╕реЗ рдШрдЯрд╛рдПрдВ, рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВ, рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдЗрд╕реЗ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдХрд░реНрд╕рд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВред
рдпрд╛ рдФрд░ рднреА рд╕рд░рд▓, рд╣рдо рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд░реНрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдХрд░реНрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИред рджреВрд╕рд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдлрд┐рд░ рдЖрдкрдХреЛ SQL рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЪрд▓реЛ рдХрд░реНрд╕рд░ рдХреЗ рд╕рд╛рде рдЯреЗрдмрд▓ рдкрдврд╝реЗрдВ, рд╣рдорд╛рд░реЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рдмрдирд╛рдПрдВ, рд▓реВрдк рдореЗрдВ рддрд░реНрдХ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ ... рдпрд╣ C / C ++ рдореЗрдВ рдХреЛрдбрд╛рдВрддрд░рдХ рдЖрд╡реЗрд╖рдг рдХреА рддрд░рд╣ рд╣реИ, рдХрднреА-рдХрднреА рдЖрдк рдЦреБрдж рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд░рд┐рдХреЙрд░реНрдб рд▓реМрдЯрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╢реНрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдЖрддреЗ рд╣реИрдВ:
- рдХрд╕реНрдЯрдо рд╕рдореБрдЪреНрдЪрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдБ рд╣рдорд╛рд░реА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
- рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреБрдЫ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрд╣ рдХрд╛рд░реНрдп рдпрд╛ рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рд╣реЛред рдХрдо рд╕реЗ рдХрдо, рдЙрдЪрд┐рдд рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдмрд╕ рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
- рдлрд┐рд░ рднреА, рд╡рд░реНрдгрд┐рдд рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдпрд╣ рдХрднреА-рдХрднреА рдмрд╣реБрдд рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрджреНрдзрддрд┐ рд╕реЗ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдХреНрдпрд╛
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рддреЛ рд▓реЗрдЦрдХ рдХреЛ рдФрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?
рджрд░рдЕрд╕рд▓, рдЯреНрдпреВрд░рд┐рдВрдЧ рдорд╢реАрди рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреА рд╣реИ, рдмрд╕ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рднреА рдирд╣реАрдВ рд╣реИред
рд╣рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:
- рдпрд╣ рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдСрдкрд░реЗрдЯрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рдХреА (рдЪрдпрди, рдкреНрд░рдХреНрд╖реЗрдкрдг, ...) рдХреЗ рдмрд░рд╛рдмрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
- рдпрд╣ рдПрдХ рдСрдкрд░реЗрдЯрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдПрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИ
- рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдирд╣реАрдВ рд╣реИ
- рдСрдкрд░реЗрдЯрд░ рдШреЛрд╖рдгрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ
- рдСрдкрд░реЗрдЯрд░ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИ (рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рд╢рд░реАрд░, рдСрдкрд░реЗрдЯрд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рд╕реАрдзреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ)
- рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рд╕рд╛рде рд╣реА рдПрдХ рд╡рд┐рдзреНрд╡рдВрд╕рдХ (...)
- рд╕рд╛рде рд╣реА рдПрдХ рдлрд╝рдВрдХреНрд╢рди (...) рдЬрд┐рд╕реЗ рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдИ рд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдСрдкрд░реЗрдЯрд░ рдХреЗ рдкрд╛рд╕ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрджрд░реНрдн рд╣реИ - рдЪрд░ рдФрд░ / рдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реЗрдЯ рдЬреЛ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ
- рдЗрд╕ рдХрдерди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
- рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣рд░ рдЪреАрдЬ рдХреЛ рдПрдХ рдЬрдЧрд╣, рдПрдХ рднрд╛рд╖рд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдПрдХ
рдмрд╛рд░, рд▓реЗрдЦрдХ рдиреЗ рдПрдХ рдРрд╕рд╛ рдСрдкрд░реЗрдЯрд░ рдмрдирд╛рдпрд╛ рдЬреЛ
рдЯреАрдЯреАрдПрдо / рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдбреА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕рдмрд╕реЗрдЯ рдХреЗ рд╕реНрд╡-рдирд┐рд░реНрдорд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ
ред рдЕрдм рдЙрд╕реА рд╡рд┐рдЪрд╛рд░ рдХреЛ SQL рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдпрд╣рд╛рдВ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реБрдзрд╛рд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореВрд▓ рдореЗрдВ рдерд╛, рдЕрдВрдд рдореЗрдВ, рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЪреАрдиреА рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд╕рд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред
рддреЛ,
рдЪрдмрд╛ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ
- рдПрдХ рд╣реЗрдбрд░ рдЬрд┐рд╕рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдбреНрд╕ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдЖрдЙрдЯрдкреБрдЯ (рдФрд░ рдЗрдирдкреБрдЯ) рдлрд╝реАрд▓реНрдб рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рд╣реИред
Ex: "chew {" var1 "рдлреНрд▓реЛрдЯ," var2 "рдкреВрд░реНрдгрд╛рдВрдХ}" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рджреЛ рдХреЙрд▓рдо рд╣реЛрдВрдЧреЗ - рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдФрд░ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ - рдирд┐рдХрд╛рдпреЛрдВ - рдШрдЯрдирд╛рдУрдВ рдХреА рдХреЙрд▓рдмреИрдХ рдХреА рдПрдХ рд╕реВрдЪреА, рдЗрд╕ рд╕рдордп - рдзрд╛рд░рд╛ рдХреА рд╢реБрд░реБрдЖрдд, рдзрд╛рд░рд╛ рдХрд╛ рдЕрдВрдд, рд░реЗрдЦрд╛ред рд╕рд┐рдВрдЯреИрдХреНрд╕ рджреНрд╡рд╛рд░рд╛, рдлрд╝рдВрдХреНрд╢рди PL / SQL рдХреЗ рдХрд░реАрдм рд╣реИрдВред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди __interrupt () PIPE рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ, рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдХреЙрд▓рдо рдХреЗ рдЕрдиреБрд░реВрдк рдЪрд░ рд╕реЗ рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдХрд╛рдо рд░реБрдХ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдкреНрд░рд╛рдкреНрдд рдкрдХреНрд╖ рдХрд╛ рдХрд╛рдо рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
Ex: "рд╣реБрдХ" init "{var1: = 0; var2: = -1; } "
рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ред
- рдХреБрд▓ рдлрд╝рдВрдХреНрд╢рди SUM рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧред
рдпрд╣ рднрд╛рд░реА рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ,
рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП C рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред - рд╕реБрдо + рдПрд╡реАрдЬреА
рдпрд╣рд╛рдВ рд╣рдо рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпреЛрдЧ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИред - рд╕реЛрдо + рдЧреНрд░реБрдк рджреНрд╡рд╛рд░рд╛
- ROW_NUMBER () OVER ()
рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд╛рдкреНрдп рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИрдВред
рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рд▓рдЧрднрдЧ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрд░рдордмрджреНрдз рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ (рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХрдореНрдкреНрд░реЗрд╢рди) рдбреЗрдЯрд╛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЖрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдереЛрдбрд╝рд╛ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдиреА
рдПрдХ рд╕рдордп рд╕реНрдЯреИрдореНрдк T1 рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрд░реЛрдд рд╕реЗ рдПрдХ рд▓рд╛рдЗрди рд╕рдордп T2 рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрд░реЛрдд рд╕реЗ рдПрдХ рд▓рд╛рдЗрди рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬрдмрдХрд┐ T1 <2редрдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ T1 рдФрд░ T2 рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдХрднреА рднреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд (рдХрдо) рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рддреЛ рд╣рдо рдпрд╣рд╛рдВ (рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЗ рд╕реЗ) рдЫрд╛рдВрдЯреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗредрд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдмрдлрд░ рдХрд░рдирд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрдм рдЗрдирдкреБрдЯ рдХреЛ рд╕рдордп рд╕реНрдЯреИрдВрдк рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИ рд╣реИрдВ, рдЬреЛ рдЕрдВрддрд░рд╛рд▓ рдХреА рд╕рд╣реА рд╕реАрдорд╛ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИредрдпрд╣рд╛рдВ рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИредрдХреЗрд╡рд▓ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛ рд▓рдЧрднрдЧ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдХреЗрд╡рд▓ рд╣рдо рдЙрд╕ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдорд╛рди рдЬрд╛рдирддреЗ рд╣реИрдВредрдпрд╣ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗрд╡рд▓ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдЗрд╕ рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдПредрдФрд░ рд╣рдо рдЗрд╕ рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЫрдБрдЯрд╛рдИ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдкрд░ рдХрд░рддреЗ рд╣реИрдВредрдХрд╛рд░реНрдп рдХрд╛ рд╣рдорд╛рд░рд╛ рдорд╛рдирдХ рдЬреНрдЮрд╛рди SQL рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИредрдФрд░ рд▓реИрдореНрдмреНрдбрд╛ рдлрдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ SQL рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддрд░реАрдХрд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИредрдирд┐рд╖реНрдХрд░реНрд╖
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдбрд┐рдЬрд╛рдЗрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИредрдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдорд╛рдиреНрдп PL / SQL рдХреЗ рд╕рд╛рдередрдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╕рд░рд▓ рдФрд░ рд╕рд╣рдЬ рд╣реИ рдФрд░ рднрд╛рд╖рд╛ рдореЗрдВ рдирдИ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИредрдпрд╣ рдПрдХ рдПрдХрд▓ рдЗрдХрд╛рдИ рд╣реИ, рдЬреЛ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рд╕рдордЧреНрд░ рдФрд░ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди, рдЧреНрд░реБрдк рдмрд╛рдп рдХреА рдЬрдЧрд╣ рд▓реЗрддреА рд╣реИредрдПрдХ рдРрд╕рд╛ рддрдВрддреНрд░ рдЬреЛ рдЖрдкрдХреЛ рдмрд┐рдирд╛ рдЫрд╛рдВрдЯреЗ рдХреЗ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ SQL рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИредрд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдПрдХ рдРрд╕рд╛ рддрдВрддреНрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЬрд░реВрд░реА рддрд░реАрдХреЗ рд╕реЗ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рджреЗрддрд╛ рд╣реИредрдкреБрдирд╢реНрдЪ: рд▓реЗрдЦ рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЛрд░реЛрдлреА рдкреНрд░реЛрд▓реЗрдХреЛрд╡рд╕реНрдХреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред