У меня есть первичный ключ, который я не хочу автоматически увеличивать (по разным причинам), поэтому я ищу способ просто увеличить это поле, когда я ВСТАВЛЯЮ. Просто я имею в виду без хранимых процедур и без триггеров, поэтому просто последовательность команд SQL (желательно одна команда).
Вот что я пробовал до сих пор:
BEGIN TRAN
INSERT INTO Table1(id, data_field)
VALUES ( (SELECT (MAX(id) + 1) FROM Table1), '[blob of data]');
COMMIT TRAN;
* Data abstracted to use generic names and identifiers
Однако при выполнении команда выдает ошибку, говоря, что
"Подзапросы не разрешены в этом
контекст. только скалярные выражения
разрешено "
Итак, как я могу это сделать / что я делаю не так?
РЕДАКТИРОВАТЬ: Поскольку это было указано в качестве рассмотрения, гарантируется, что таблица для вставки будет иметь как минимум 1 строку.