Я хотел бы сделать простой запрос INSERT-и-SELECT-it-запроса в одном «запуске» с dapper, примерно как так:Вставить + Выбрать операторы в одном запросе <T> дает ORA-00933: команда SQL закончилась неправильно
var query = "INSERT INTO Table(Id, Value) Values(1, :value);" +
"SELECT Id, Value FROM Table WHERE Id = 1;"
Connection.Query<Item>(query, new { value = value});
Это только что дает мне ORA-00933: SQL command not properly ended
. Если я запустил тот же запрос (в «одном запуске», с заменой параметров вручную) в Oracle SQL Developer, он работает нормально.
Если я разделил это на две части, и сделать это:
var insert = "INSERT INTO Table(Id, Value) Values(1, :value);"
var select = "SELECT Id, Value FROM Table WHERE Id = 1;"
Connection.Execute(insert, new { value = value});
var item = Connection.Query<Item>(select);
... она отлично работает. Я попытался удалить последнюю точку с запятой (которая, казалось, была вещь в других вопросах), без везения.
Я сделал то же самое с успехом в другом проекте, где я использую SQL Server.
Использование Dapper 1.42.
Может ли кто-нибудь увидеть, что здесь не так?
Я проверю это в понедельник (не могу получить доступ к db из дома), спасибо! –
Посмотрел немного больше на это сейчас, и точка sortof исчезает, если я просто получу длинный список параметров. Я хочу использовать сопоставление объектов в Dapper, что и было в целом. Таким образом, я должен использовать 'Query- (...)' или какую-то его форму. –
Все, пока не кажется, что в этом случае это будет невозможно. Похоже, что это единственный способ сделать эти две операции в одном запросе. –