RE: Как не апдейтить некоторые поля в зависимости от условий?
Ну первое, что в голову приходит...
Пробежаться курсором по таблице syscolumns (с указанием нужной таблицы (из sysobjects) для того, вытягивать нужные поля). Вообще лучше использовать INFORMATIONAL_SCHEMA, но в данном случае не столь важно.
Формировать запрос вида:</P><FONT color=#0000ff size=2><FONT color=#0000ff size=2>
UPDATE<FONT size=2><FONT color=#000000> t2</P><FONT color=#0000ff size=2>
SET<FONT color=#000000 size=2> t2<FONT color=#808080 size=2>.<FONT color=#000000 size=2><STRONG>CurrentField</STRONG><FONT color=#808080 size=2>=<FONT color=#000000 size=2>t1<FONT color=#808080 size=2>.<FONT size=2><FONT color=#000000><STRONG>CurrentField</STRONG></P><FONT color=#0000ff size=2>
FROM<FONT size=2><FONT color=#000000> t1</P><FONT color=#808080 size=2>
INNER<FONT color=#000000 size=2> <FONT color=#808080 size=2>JOIN<FONT color=#000000 size=2> t2 <FONT color=#0000ff size=2>on<FONT color=#000000 size=2> t1<FONT color=#808080 size=2>.<FONT color=#000000 size=2>ID<FONT color=#808080 size=2>=<FONT color=#000000 size=2>t2<FONT color=#808080 size=2>.<FONT size=2><FONT color=#000000>id</P><FONT color=#0000ff size=2>
WHERE<FONT color=#000000 size=2> t1<FONT color=#808080 size=2>.<FONT color=#000000 size=2><STRONG>CurrentField </STRONG><FONT color=#808080 size=2>Is<FONT color=#000000 size=2> <FONT color=#808080 size=2>Not<FONT color=#000000 size=2> <FONT color=#808080 size=2>Null
<FONT size=2><FONT color=#000000>Где <STRONG>CurrentField - </STRONG>название поля из syscolumns.
<FONT color=#000000>И делать ему EXEC.
|