Хранимая процедура - Обновление запроса - PullRequest
1 голос
/ 09 марта 2012

Я не знаком с хранимой процедурой SQL.

У меня есть одна таблица с именем customer, и у нее есть одно поле с именем accountNo. я хочу обновить таблицу клиентов с новым accountNo, и accountNo должен быть увеличен с 1000.

Я хочу обновить всех клиентов в таблице, и учетная записьNo будет как 100,1001,1002 .....

Заранее спасибо, Nimmy

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Это обновит каждого клиента в таблице

UPDATE Customer
SET accountNumber = accountNumber+1000

Это основано на том, что вы сказали: «В таблице клиентов есть только 1 поле - accountNumber». Тем не менее, я подозреваю, что ваша таблица на самом деле имеет ключ, который представляет идентификатор клиента (если нет, он должен !!!)

В этом случае вы, вероятно, захотите обновить номер счета одного конкретного клиента

UPDATE Customer
SET accountNumber = accountNumber+1000
WHERE customerId = 123
0 голосов
/ 28 января 2013

Решение, предоставленное Jamiec, является почти правильным, но если в accountNumber есть уникальный ключ, его первое обновление может не сработать из-за ограничений уникального ключа. Рассмотрим accoutNumber = 1 и accountNumber = 1001, если строка с accountNumber = 1 будет обновлена ​​первой, MySQL выдаст ошибку «дубликат ключа для строки xxx».

Вам необходимо обновить таблицу клиентов в порядке

UPDATE Customer
SET accountNumber = accountNumber + 1000
ORDER BY accountNumber DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...