Мої запитання такі
як збільшити значення стовпця на 1.
Наприклад, припустимо, що стовпець ID
має значення 1,2,3,4, ..
Тепер, коли я оновлюю цю таблицю, тоді ID
стовпець повинен збільшуватися на 1,
Зараз ID
стане 2,3,4,5, ..
Мої запитання такі
як збільшити значення стовпця на 1.
Наприклад, припустимо, що стовпець ID
має значення 1,2,3,4, ..
Тепер, коли я оновлюю цю таблицю, тоді ID
стовпець повинен збільшуватися на 1,
Зараз ID
стане 2,3,4,5, ..
Відповіді:
Щоб додати по одному до кожного значення в таблиці ...
UPDATE myTable
SET ID = ID + 1
Щоб створити нове значення, більше, ніж попереднє найвище (зазвичай), використовуйте стовпець з ІДЕНТИЧНІСТЮ
ISNULL
твердження : UPDATE myTable SET ID = ISNULL(ID, 0) + 1
(Взято з цієї відповіді SO )
SET [Lic] = [Lic] + @dif
. Зверніть увагу, що змінна @dif може бути позитивною, 0 або негативною
Якщо ви хочете мати унікальний номер для кожного рядка, який автоматично генерується, це ІДЕНТИФІКАЦІЯ відповідно до відповіді Ніла.
Якщо кожного разу, коли ви оновлюєте таблицю, ви хочете збільшити значення (тобто вони не є ключами):
Update MyTable
Set IDColumn = IDColumn + 1
Where <whatever>
Спробуйте це:
Update Emp set testCount = ISNULL(testCount, 0) + 1 where testId=1
В Oracle код трохи складніший.
Вам доведеться створити поле автоматичного збільшення з об’єктом послідовності (цей об’єкт генерує послідовність чисел).
Використовуйте такий синтаксис CREATE SEQUENCE:
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
Наведений вище код створює об'єкт послідовності з назвою seq_person, який починається з 1 і збільшується на 1. Він також кешує до 10 значень для продуктивності. Параметр кеш-пам'яті визначає, скільки значень послідовності буде збережено в пам'яті для швидшого доступу.
Щоб вставити новий запис у таблицю "Persons", нам доведеться використовувати функцію nextval (ця функція отримує наступне значення з послідовності seq_person):
INSERT INTO Persons (ID,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')
Вищезазначений оператор SQL вставить новий запис у таблицю "Особи". Стовпцю "ID" буде присвоєно наступний номер із послідовності seq_person. Для стовпця "Ім'я" буде встановлено значення "Ларс", а для стовпця "Прізвище" буде встановлено значення "Монсен".
Ви можете спробувати наступне:
DECLARE @i INT
SET @i = @@ROWCOUNT + 1
INSERT INTO YourTable
(Identity Column)
VALUES
(@i + 1)