powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Pervasive SQL v 8.6 - как получить autoincrement key
8 сообщений из 8, страница 1 из 1
Pervasive SQL v 8.6 - как получить autoincrement key
    #34159714
Soloik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть табличка, в ней описано уникальное поле как autoincrement key. При добавлении получаем уникальный ключ. Вопрос как его достать? select max? - вряд ли это правильно, а вдруг уже кто то запись добавил. Может кто нибудь сталкивался?
...
Рейтинг: 0 / 0
Pervasive SQL v 8.6 - как получить autoincrement key
    #34159781
БПА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
help читать иногда полезно :)

Examples
SELECT @@IDENTITY

Returns NULL if no records have been inserted in the current connection, otherwise returns the IDENTITY column value of the most recently inserted row.

SELECT * FROM t1 WHERE @@IDENTITY = 12

Returns the most recently inserted row if it has an IDENTITY column value of 12. Otherwise, returns no rows.

INSERT INTO t1(c2) VALUES (@@IDENTITY)

Inserts the IDENTITY value of the last row inserted into column C2 of the new row.

UPDATE t1 SET t1.c1 = (SELECT @@IDENTITY) WHERE t1.c1 =
@@IDENTITY + 10

Updates column C1 with the IDENTITY value of the last row inserted, if the value of C1 is 10 greater than the IDENTITY column value of the last row inserted.

UPDATE t1 SET t1.c1 = (SELECT NULL FROM t2 WHERE t2.c1 =
@@IDENTITY)

Updates column C1 with the value NULL if the value of C1 equals the IDENTITY column value of the last row inserted.

The example below creates a stored procedure and calls it. The procedure sets variable V1 equal to the sum of the input value and the IDENTITY column value of the last row updated. The procedure then deletes rows from the table anywhere column C1 equals V1. The procedure then prints a message stating how many rows were deleted
...
Рейтинг: 0 / 0
Pervasive SQL v 8.6 - как получить autoincrement key
    #34159931
Soloik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, я только что нашел этот блок, только что то не разберусь.
создаю таблицу
CREATE TABLE T1 (C1 INTEGER, C2 INTEGER)
Дважды делаю
INSERT INTO T1(C2) VALUES (@@IDENTITY)
Просматриваю
select * from t1
Вижу две пустые записи.
...
Рейтинг: 0 / 0
Pervasive SQL v 8.6 - как получить autoincrement key
    #34160720
БПА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз ЧИТАТЬ help, твой пример не верен (что заказал то и получил - автоинкмента в принципе нет).

1 Создали таблицу с автоинкрементом (поле Num) и индексом по нему
create table T_OST PAGESIZE=16384
(
Num IDENTITY not null,
NumberSeek utinyint not null,
primary key (Num)
);

2. добавляем запись

INSERT INTO T_OST(NumberSeek) VALUES (4)
поле Num заполняется а автомате

3. считываем значение автоинкремента, т.е. значение поля Num
SELECT @@IDENTITY
...
Рейтинг: 0 / 0
Pervasive SQL v 8.6 - как получить autoincrement key
    #34161051
Soloik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Теперь понял. Т.е. в identitty это не специальный признак а тип поля в базе. Жаль, это не так интересно. А если база уже существует и нет возможности ее пересоздать, может есть какой то вариант?
...
Рейтинг: 0 / 0
Pervasive SQL v 8.6 - как получить autoincrement key
    #34162755
БПА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чего надо, не понял?
...
Рейтинг: 0 / 0
Pervasive SQL v 8.6 - как получить autoincrement key
    #34163276
Soloik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БПАЧего надо, не понял?

Скажи - чего я не допонял? И если ты так хорошо разбираешься, простой ответ, есть ли возможность прикрутить этот признак к существующему autoincrement полю.
...
Рейтинг: 0 / 0
Pervasive SQL v 8.6 - как получить autoincrement key
    #34166243
БПА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопроса не понял.
Какой признак и к чему его прикрутить ?

Если есть автоинкрементное поле (о его наличии можно узнать утилитой maintenance -> stat report), то оно при добавлении записи заполняется автоматически и его значение можно
узнать запросом SELECT @@IDENTITY.


Новые поля и индексы можно всегда добавить в таблицу.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Pervasive SQL v 8.6 - как получить autoincrement key
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]