Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как узнать Id только что добавленной записи? / 7 сообщений из 7, страница 1 из 1
17.04.2008, 17:35
    #35262740
Solomka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать Id только что добавленной записи?
Есть база данных, в ней есть две таблицы: таблица со сведениями об организациях (organizations) и таблица о сведениях о странах (countries).
В таблице "organizations" есть поле "IdCountry", в таблице "countries" есть поле "Id" (ключевое поле).
Поля "Id" и IdCountry" связаны отношением один ко многим.
Обычно с помошью команды INSERT INTO я добавляю запись в таблицу...
А как можно узнать Id только что добавленной записи?
Только ещё один запрос SELECT делать?
А что если за эти доли секунды уже кто-то добавил ещё одну запись?
Можно ли обойтись без транзакций или нет?
_________________________________________________________________________________
Жизнь - это сплошное движение, кто-то шевелит извилинами, а кто-то хлопает ушами...
...
Рейтинг: 0 / 0
17.04.2008, 17:46
    #35262782
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать Id только что добавленной записи?
Дык это от БД зависит. Например, в Oracle есть конструкция вида
Код: plaintext
1.
2.
3.
INSERT INTO tab1 (...)
VALUES (...)
RETURNING id INTO v_Id
...
Рейтинг: 0 / 0
18.04.2008, 11:41
    #35263956
Solomka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать Id только что добавленной записи?
tru55Дык это от БД зависит. Например, в Oracle есть конструкция вида
Код: plaintext
1.
2.
3.
INSERT INTO tab1 (...)
VALUES (...)
RETURNING id INTO v_Id

Нет база данных Microsoft SQL Server 2005...
...
Рейтинг: 0 / 0
18.04.2008, 11:42
    #35263962
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать Id только что добавленной записи?
Сервер баз данных какой? В 2005-м MS SQL Server есть OUTPUT на INSERT / UPDATE / DELETE:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
declare @x table (a int identity, b int, c int)
declare @t table(a int, b int, c int)

insert @x (b, c)
output inserted.a, inserted.b, inserted.c into @t
select  2 ,  3 
union all
select  3 ,  4 
union all
select  5 ,  6 

select * from @t
...
Рейтинг: 0 / 0
18.04.2008, 12:42
    #35264257
Диез
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать Id только что добавленной записи?
SolomkaЕсть база данных, в ней есть две таблицы: таблица со сведениями об организациях (organizations) и таблица о сведениях о странах (countries).
В таблице "organizations" есть поле "IdCountry", в таблице "countries" есть поле "Id" (ключевое поле).
Поля "Id" и IdCountry" связаны отношением один ко многим.
Обычно с помошью команды INSERT INTO я добавляю запись в таблицу...
А как можно узнать Id только что добавленной записи?
Только ещё один запрос SELECT делать?
А что если за эти доли секунды уже кто-то добавил ещё одну запись?
Можно ли обойтись без транзакций или нет?
_________________________________________________________________________________
Жизнь - это сплошное движение, кто-то шевелит извилинами, а кто-то хлопает ушами...

А у вас случаем, Id - не автоинкремент?

Если да, то SELECT SCOPE_IDENTITY() или SELECT @@IDENTITY. Подробности в BOL.
...
Рейтинг: 0 / 0
21.04.2008, 16:11
    #35268953
Solomka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать Id только что добавленной записи?
ДиезА у вас случаем, Id - не автоинкремент?

Если да, то SELECT SCOPE_IDENTITY() или SELECT @@IDENTITY. Подробности в BOL.

Спасибо,
Всё получилось :-)))
...
Рейтинг: 0 / 0
21.04.2008, 17:05
    #35269206
Диез
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать Id только что добавленной записи?
Solomka ДиезА у вас случаем, Id - не автоинкремент?

Если да, то SELECT SCOPE_IDENTITY() или SELECT @@IDENTITY. Подробности в BOL.

Спасибо,
Всё получилось :-)))

Это хорошо :)

Но все-таки заглядывайте в FAQ (к слову, вопрос № 7)
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как узнать Id только что добавленной записи? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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