Перенумеровать ключи в таблице, используя подзапрос - PullRequest
1 голос
/ 23 марта 2011

У меня есть таблица со списком отделов. Ключ («код» в образце) - это просто присвоенный номер. К сожалению, эта таблица теперь должна содержать некоторое новое программное обеспечение, которое поставляется с предварительно определенными кодами отделов. Конечно, эти определенные коды конфликтуют с существующими кодами. Я хочу взять существующие ключи и увеличить каждый на 200, чтобы вывести их из пространства столкновения. Я пробовал этот запрос:

update  [TEST-PH].[dbo].[Emp_PosDepartments]
set Code = (select code + 200 from [TEST-PH].[dbo].[Emp_PosDepartments] o where o.Code = Code)

Но когда я пытаюсь запустить это на сервере SQL, я получаю следующее сообщение:

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

Есть предложения, как выполнить перенумерацию ключей?

1 Ответ

2 голосов
/ 23 марта 2011

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

update  [TEST-PH].[dbo].[Emp_PosDepartments]
set     Code = Code + 200
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...