Это настолько просто, что, возможно, уже было задано, но я не мог найти его (если это так, я прошу прощения).Вставка пустой строки
Я хотел бы вставить пустую строку на стол, чтобы я мог получить свой идентификатор (первичный ключ, сгенерированный триггером вставки) через ExecuteScalar. Данные добавляются к нему позднее в моем коде.
Мой вопрос заключается в следующем: существует ли конкретный синтаксис вставки для создания пустой записи? или я должен идти с регулярным синтаксисом вставки, таким как значения INSERT INTO (список всех столбцов) (null для каждого столбца) "?
Спасибо за ответ.
UPDATE: В Oracle ExecuteScalar on INSERT возвращает 0. Окончательный ответ представляет собой комбинацию того, что было опубликовано ниже. Сначала вам нужно объявить параметр и поднять его с помощью RETURNING.
INSERT INTO TABLENAME (ID) VALUES (DEFAULT) RETURNING ID INTO :parameterName
Проверьте это link для получения дополнительной информации.
+1 Но может быть лучше использовать 'DEFAULT', чем жестко закодированное значение. Тогда вставка будет работать независимо от типа, а также будет работать, если таблица будет изменена для использования трюка SYS_GUID() или новой 12c-последовательности по умолчанию. –
Отлично! Я объединил оба ответа (вставьте значение DEFAULT как значение в столбец PK), и он работает точно так, как я хотел. Спасибо! – oceansmoon