powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / insert ... returning ... Oracle
2 сообщений из 2, страница 1 из 1
insert ... returning ... Oracle
    #38949169
Barkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые, только начал ковыряться с Oracle, хочу для начала повторить то, что умею в отношении других серверов.
Вот упёрся в казалось бы ровное место: сделать инсерт с возвратом идентификатора.
То есть я создаю команду (SqlCommand для SQLServer или FbCommand для Firebird)
с инсерт выражением (insert into PROBA1 (NAME) values ('dsfsdfs') select ident_current('PROBA1') для SQLServer
или insert into PROBA1 (NAME) values ('dsfsdfs') returning ID для Firebird) и дёргаю метод ExecuteScalar().

У Oracle синтаксис инсерта хитрее, требует объявления переменной:
Код: plsql
1.
2.
3.
4.
5.
6.
declare 
   D PROBA1.ID%TYPE := 0;
begin
   insert into PROBA1 (NAME) values ('sdfsdfsd') returning ID into D;
   dbms_output.put_line(to_char(D));  -- это просто отображение результата
end;



Подскажите как мне сформулировать инсерт выражение что-бы использовать метод ExecuteScalar()?
Вариант с созданием процедуры не предлагать - я знаю что он есть.

PS: Таблица простая - пробная. Если надо то вот скрипт её создания:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create table PROBA1 (
   ID   number(15) not null,
   NAME varchar2(25) default '' not null,
   constraint PROBA1_PK primary key (ID)
);

create sequence PROBA1_ID_seq increment by 1;

create or replace trigger PROBA1_BI0
before insert on PROBA1 for each row
begin
   :new.ID := PROBA1_ID_seq.nextval;
end;
...
Рейтинг: 0 / 0
insert ... returning ... Oracle
    #38952290
Barkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Походу я ошибся форумом.
Модератор, перенесите плиз в форум Oracle.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / insert ... returning ... Oracle
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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