Piotr
Głudkowski
Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...
Temat: MSSQL: Warunkowy update pola
Kolejne problemik:wykonuję update na jakiejś tabeli, być może na wielu wierszach (zależy to od klauzuli where).
Polecenie generowane jest dynamicznie: zarówno lista <field> = <value> w set, jak i lista warunków w where - tak więc de facto nie wiem a priori, które pola update'uję, i nie wiem też, czy update dotyczy jednego czy wielu wierszy.
I teraz haczyk - potrzebuję zrobić coś takiego:
dla każdego wiersza: jeśli zawartość wskazanego a priori pola zmienia wartość (czyli była na liście set i w dodatku nowa wartość jest inna od dotychczasowej), to do innego pola (też wskazanego a priori) ma się wpisać np. 7.
Nie bardzo widzę tutaj procedurę składowaną z kursorem, choć na pierwszy rzut oka to byłoby najprostsze - bo lista wartości pól jest dynamiczna i może dotyczyć różnych pól.
Da się to zrobić bez triggerów? Czy wogóle jest jakiś patent na sprawdzenie podczas update,u każdego wiersza, czy wskazane pole się zmieniło?