Можно ли избежать переписывания табличного выражения в обновлении? - PullRequest
0 голосов
/ 07 октября 2009

Предположим, вы обновляете таблицу, которая является результатом выражения, например

UPDATE OPENQUERY( server, 'SELECT a from b' )
   SET rem.a = loc.a
  FROM OPENQUERY( server, 'SELECT a from b' ) rem
      ,local_table loc
 WHERE rem.id = loc.id

Будет ли это OPENQUERY выполнено один или два раза? Я полагаю, что то же самое применимо к любому виду обновляемого выражения запроса.

Кроме того, есть ли способ для меня, чтобы псевдоним его, чтобы это не нужно было повторять?

1 Ответ

2 голосов
/ 07 октября 2009

Как я и просил, я решил попробовать это

UPDATE rem
   SET rem.a = loc.a
  FROM OPENQUERY( server, 'SELECT a from b' ) rem
      ,local_table loc
 WHERE rem.id = loc.id

и все работает!

Так что я оставлю это здесь на случай, если это может кому-то помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...