> ÓÏÂÓÔ×ÅÎÎÏ ÎÁ ÜÔÏÔ ×ÏÐÒÏÓ ÍÎÅ ÕÖÅ ÏÔ×ÅÔÉÌÉ - "×ÙÐÏÌÎÑÅÔÓÑ ÐÏÛÔÕÞÎÏ", Á 
> ÓÌÅÄÏ×ÁÔÅÌØÎÏ ËÏÎÆÌÉËÔÙ ×ÏÚÍÏÖÎÙ, Á ÓÌÅÄÏ×ÁÔÅÌØÎÏ ÏÔËÁÔÙ
ÅÝÅ ÏÓÔÁÌÓÑ ÍÁÌÅÎØËÉÊ ×ÏÐÒÏÓÉË, ÏÔ ÏÂÝÅÇÏ (ÎÁÓËÏÌØËÏ ÁÔÏÍÁÒÅÎ update)

Á ÎÁÓËÏÌØËÏ ÁÔÏÍÁÒÅÎ ×ÏÔ ÔÁËÏÊ

update some_table set counter = counter + 1 where id = :id

Ô.Å. ÎÁÓËÏÌØËÏ ÇÁÒÁÎÔÉÒÏ×ÁÎÏ, ÞÔÏ ÅÓÌÉ ÏÐÅÒÁÔÏÒ ÐÒÏÞÉÔÁÌ ÄÁÎÎÙÅ É ÒÅÛÉÌ ÉÈ 
ÍÅÎÑÔØ, ËÁËÏ×Á ×ÅÒÏÑÔÎÏÓÔØ, ÞÔÏ ËÔÏ-ÎÉÂÕÄØ ÄÒÕÇÏÊ (× ËÏÎËÕÒÉÒÕÀÝÅÊ 
ÔÒÁÎÚÁËÃÉÉ) ÎÅ ÉÚÍÅÎÉÔ ÄÁÎÎÙÅ (ÓÏÇÌÁÓÉÓØ, ÞÔÏ ÄÁÖÅ ÏÏÏÞÅÎØ ËÏÒÏÔËÉÅ ÏÐÅÒÁÃÉÉ 
ÍÏÇÕÔ ×ÙÐÏÌÎÉÔØÓÑ ÏÄÎÏ×ÒÅÍÅÎÎÏ) É ÞÔÏ × ÜÔÏÍ ÓÌÕÞÁÅ ÐÒÏÉÚÏÊÄÅÔ (ÜÔÏÔ ×ÏÐÒÏÓ 
ÂÅÚ ÏÂÓÕÖÄÅÎÉÑ ÐÁÒÁÍÅÔÒÏ× ÔÒÁÎÚÁËÃÉÉ ÚÁÄÁ×ÁÔØ ÎÅËÏÒÒÅËÔÎÏ, ÜÔÏ Ñ ÐÏÎÉÍÁÀ)

Á ÅÝÅ ×ÏÔ, ×ÏÔ ÔÁËÁÑ ËÏÎÓÔÒÕËÃÉÑ

for select id ....
from some_table
order by id ....
do
  update some_table set counter = counter + 1 where id = :id

ËÁË ÏÎÁ ×ÏÓÐÒÉÎÉÍÁÅÔÓÑ ÓÅÒ×ÅÒÏÍ
1. ÐÏÌÕÞÅÎÉÅ ËÕÒÓÏÒÁ É ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÓÁÍÏÓÔÏÑÔÅÌØÎÙÈ ×ÙÚÏ×Ï× update
2. ÏÐÔÉÍÉÚÉÒÕÅÔÓÑ É ÐÏÌÕÞÅÎÉÅ ÄÁÎÎÙÈ ÄÌÑ update ÐÒÏÉÓÈÏÄÉÔ × ÓÅÌÅËÔÅ 
(ÐÏÎÉÍÁÀ ÞÔÏ ÜÔÏ ÍÁÌÏ×ÅÒÏÑÔÎÏ, ÎÏ ÍÁÌÏ ÌÉ, ÎÁ ×ÓÑËÉÊ ÓÌÕÞÁÊ ÕÔÏÞÎÀ) 



Ответить