Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
Все доброе время суток !
Сразу несколько вопросов:

Можно ли сбросить счетчик ? Если да, то как ?
Как можно запомнить последнее значение IDENTLY поля т.е.:

Поле1 имеет вид:
6005195
6005196
6005197
6005198
6024690
6024691
6024692
6024693
6024694

Мне надо запомнить последнее число и потом все последующие вставленные записи (их ID) т.е. (запомнить выделенные жирным)
Для того, что бы потом выделенные записи вставить в другую таблицу.

6005195
6005196
6005197
6005198
6024690
6024691
6024692
6024693
6024694
6024695
6024696
6024697
6024698


Надеюсь понятно объяснил, спасибо тем кто откликнится.
29 ноя 13, 11:41    [15210860]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
Glory
Member

Откуда:
Сообщений: 104751
SonyPictures
Можно ли сбросить счетчик ? Если да, то как ?

DBCC CHECKIDENT

SonyPictures
Как можно запомнить последнее значение IDENTLY поля т.е.:

Записать его куда-нибудь - на выбор от бумажки до таблицы

Сообщение было отредактировано: 29 ноя 13, 11:48
29 ноя 13, 11:48    [15210919]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
SonyPictures
Как можно запомнить последнее значение IDENTLY поля т.е.:

Записать его куда-нибудь - на выбор от бумажки до таблицы


А можно вот вопрос:

Я запоминаю последнее число допустим в переменную (запомнил 6024694)
Далее я вставляю в Таблицу1 - 62 записи и теперь поле ID

6024694
6024695
6024696
......
6024756

И теперь мне надо взять эти числа и вставить в другую таблицу ... т.е. использовать банальный between ?
Или можно как то через переменную это сделать ? Спасибо :)
29 ноя 13, 11:56    [15210976]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
можно не запоминать а сразу вставить
-- таблица с identity
declare @table1 table(id int not null identity(1,1),name varchar(10))
-- таблица куда вставляем сгенерённые в  @table1 id
declare @table2 table(id int not null)

insert into @table1(name) 
OUTPUT INSERTED.ID INTO @table2
values('1'),('2'),('3')

select * from @table1
select * from @table2
29 ноя 13, 11:57    [15210981]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
LexusR
можно не запоминать а сразу вставить
-- таблица с identity
declare @table1 table(id int not null identity(1,1),name varchar(10))
-- таблица куда вставляем сгенерённые в  @table1 id
declare @table2 table(id int not null)

insert into @table1(name) 
OUTPUT INSERTED.ID INTO @table2
values('1'),('2'),('3')

select * from @table1
select * from @table2


В values выходит придется писать все новый идентификаторы ?:) А то я не совсем понимаю :(
29 ноя 13, 11:59    [15211010]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
идентификаторы генерятся сами - values имитирует вставку данных в вашу таблицу с identity
так понятнее ?
-- таблица с identity
declare @table1 table(id int not null identity(1,1),name varchar(10))
-- таблица куда вставляем сгенерённые в  @table1 id
declare @table2 table(id int not null)

insert into @table1(name) 
OUTPUT INSERTED.ID INTO @table2
values('ttt'),('www'),('zzz')

select * from @table1
select * from @table2
29 ноя 13, 12:03    [15211032]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
а инструкция OUTPUT INSERTED.ID INTO @table2 вставляет идентификаторы
сгенерённые при вставке данных для @table1 в другую таблицу @table2
29 ноя 13, 12:06    [15211053]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
LexusR,

Я не знаю, это уточнение изменит ваш ответ или нет (наверно сразу надо было указать)

В table1 я вставляю 60+ записей (Table1.ID - IDENTLY) остальные поля заполняются данными соответствующие выборке ...

Тоесть просто после моего:

INSERT INTO Table1 (...)
SELECT...
FROM...
WHERE...

Написать:
OUTPUT INSERTED.ID INTO table2
values('1'),('2'),('3')

Извините, что достаю глупыми вопросами:)
29 ноя 13, 12:12    [15211133]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
Glory
Member

Откуда:
Сообщений: 104751
SonyPictures
Написать:
OUTPUT INSERTED.ID INTO table2
values('1'),('2'),('3')

Извините, что достаю глупыми вопросами:)

Открыть хелп.
Изучить, что такое OUTPUT.
29 ноя 13, 12:17    [15211174]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
Glory
SonyPictures
Написать:
OUTPUT INSERTED.ID INTO table2
values('1'),('2'),('3')

Извините, что достаю глупыми вопросами:)

Открыть хелп.
Изучить, что такое OUTPUT.



От других людей гароздо крепче и легче усваивается материал
В BOL не совсем понятно ... :(
29 ноя 13, 12:38    [15211312]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
Glory
Member

Откуда:
Сообщений: 104751
SonyPictures
От других людей гароздо крепче и легче усваивается материал
В BOL не совсем понятно ... :(

Особенно, если его не читать
29 ноя 13, 12:39    [15211330]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
sdet
Member

Откуда:
Сообщений: 463
SonyPictures
Glory
пропущено...

Открыть хелп.
Изучить, что такое OUTPUT.



От других людей гароздо крепче и легче усваивается материал
В BOL не совсем понятно ... :(

С таким подходом вы долго не протянете, так что учитесь использовать хелп
29 ноя 13, 12:42    [15211348]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
Glory
SonyPictures
От других людей гароздо крепче и легче усваивается материал
В BOL не совсем понятно ... :(

Особенно, если его не читать


В 15 то лет я не особо владею английским, а копипастить почти весь текст из BOL в переводчик...еще непонятнее будет :(
29 ноя 13, 12:44    [15211362]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
Glory
Member

Откуда:
Сообщений: 104751
SonyPictures
В 15 то лет я не особо владею английским, а копипастить почти весь текст из BOL в переводчик...еще непонятнее будет :(

Уже лет 10 как осуществлен перевод BOL на русский язык. И еще десяток языков мира.
29 ноя 13, 12:46    [15211375]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
Glory
SonyPictures
В 15 то лет я не особо владею английским, а копипастить почти весь текст из BOL в переводчик...еще непонятнее будет :(

Уже лет 10 как осуществлен перевод BOL на русский язык. И еще десяток языков мира.


Я когда ставлю в BOL что бы искал ответы в онлайн базе не русском, он мне вечно выдает ошибку, ну я и смирился ... искал через GOOGLE пока не появились жестокие ограничения в трафике.
29 ноя 13, 12:54    [15211427]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
Glory
Member

Откуда:
Сообщений: 104751
SonyPictures
Я когда ставлю в BOL что бы искал ответы в онлайн базе не русском, он мне вечно выдает ошибку, ну я и смирился ... искал через GOOGLE пока не появились жестокие ограничения в трафике.

Т.е. нужно скинуться и увеличть вам лимит на трафик, чтобы вы смогли скачать русскоязычный хелп ?
Искать нужно здесь - http://msdn.microsoft.com/en-us/library/bb545450(v=msdn.10 ).aspx
29 ноя 13, 12:57    [15211453]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
samoxod
Member

Откуда: Москва
Сообщений: 31
SonyPictures,
тут все по-русски:

http://technet.microsoft.com/ru-ru/library/ms177564.aspx
29 ноя 13, 13:12    [15211560]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
SonyPictures
Надеюсь понятно объяснил, спасибо тем кто откликнится.
Непонятно.

Вам нужно запомнить последнюю ID, а потом, через месяц, все записи после неё (вставленные всеми пользователями) куда то вставить?
Или куда то вставить записи, которые только что вставили вы?
29 ноя 13, 13:12    [15211562]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
SonyPictures
Я когда ставлю в BOL что бы искал ответы в онлайн базе не русском, он мне вечно выдает ошибку, ну я и смирился
Странно, у меня ищет.

Вообще, пользуйтесь локальным русским BOL, установите на свой комп, будет проще.
29 ноя 13, 13:14    [15211582]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
alexeyvg
SonyPictures
Надеюсь понятно объяснил, спасибо тем кто откликнится.
Непонятно.

Вам нужно запомнить последнюю ID, а потом, через месяц, все записи после неё (вставленные всеми пользователями) куда то вставить?
Или куда то вставить записи, которые только что вставили вы?


Мне нужно взять ID записей которые я только что вставил и потом этот взятый ID вставить в другую таблицу (к примеру временную)
29 ноя 13, 13:41    [15211890]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
SonyPictures
LexusR,

Я не знаю, это уточнение изменит ваш ответ или нет (наверно сразу надо было указать)

В table1 я вставляю 60+ записей (Table1.ID - IDENTLY) остальные поля заполняются данными соответствующие выборке ...

Тоесть просто после моего:

INSERT INTO Table1 (...)
SELECT...
FROM...
WHERE...

Написать:
OUTPUT INSERTED.ID INTO table2
values('1'),('2'),('3')

Извините, что достаю глупыми вопросами:)


INSERT INTO Table1 (...) 
OUTPUT INSERTED.ID INTO table2(ID)
SELECT...
FROM...
WHERE...
29 ноя 13, 14:10    [15212228]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
SonyPictures
Member

Откуда:
Сообщений: 55
LexusR
SonyPictures
LexusR,

Я не знаю, это уточнение изменит ваш ответ или нет (наверно сразу надо было указать)

В table1 я вставляю 60+ записей (Table1.ID - IDENTLY) остальные поля заполняются данными соответствующие выборке ...

Тоесть просто после моего:

INSERT INTO Table1 (...)
SELECT...
FROM...
WHERE...

Написать:
OUTPUT INSERTED.ID INTO table2
values('1'),('2'),('3')

Извините, что достаю глупыми вопросами:)


INSERT INTO Table1 (...) 
OUTPUT INSERTED.ID INTO table2(ID)
SELECT...
FROM...
WHERE...



Спасибо большое !
Все как нужно сделал, всем спасибо:)
29 ноя 13, 14:45    [15212682]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31993
SonyPictures
Мне нужно взять ID записей которые я только что вставил и потом этот взятый ID вставить в другую таблицу (к примеру временную)
Да, тогда тлько использовать OUTPUT
29 ноя 13, 15:31    [15213252]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
Sergey S
Member

Откуда: Киев
Сообщений: 215
Когда открывается хелп на аглицком, типа
http://msdn.microsoft.com/en-us/library/bb545450(v=msdn.10).aspx
поменяй en-us на ru-ru
И будет русский

Сообщение было отредактировано: 29 ноя 13, 15:47
29 ноя 13, 15:46    [15213456]     Ответить | Цитировать Сообщить модератору
 Re: IDENTLY  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
alexeyvg
SonyPictures
Мне нужно взять ID записей которые я только что вставил и потом этот взятый ID вставить в другую таблицу (к примеру временную)
Да, тогда тлько использовать OUTPUT
А до этого убедиться, что у таблицы Table1 нет триггера INSTEAD OF INSERT !!!
29 ноя 13, 18:24    [15214736]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить