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

Откуда: Нижний Новгород
Сообщений: 67
Хотелось бы добавить в базу N строк, у которых меняется только числовое поле "ПОЛЕ" с X до Y,каким sql запросом это можно сделать?
26 окт 11, 16:09    [11504052]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Tmin10
Member

Откуда: Нижний Новгород
Сообщений: 67
Очень бы не хотелось делать кучу запросов в цикле...
26 окт 11, 16:12    [11504082]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
Tmin10,
циклом через
While
26 окт 11, 16:15    [11504120]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Tmin10,

ПОЛЕ - IDENTITY?
26 окт 11, 16:18    [11504146]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
iap
Tmin10,

ПОЛЕ - IDENTITY?
Поле со свойством IDENTITY в таблице есть вообще?
26 окт 11, 16:19    [11504153]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
Slava_Nik
Tmin10,
циклом через
While


не нужен процедурный подход.
26 окт 11, 16:19    [11504154]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
iljy
Member

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

declare @x int, @y int
select @x = 5, @y = 20
;with L0(x) as (select 0 union all select 0),
	L1(x) as (select 0 from L0 l, L0),
	L2(x) as (select 0 from L1 l, L1),
	L3(x) as (select 0 from L2 l, L2),
	LL(x) as (select 0 from L3 l, L3)
select top(@y-@x+1) ROW_NUMBER() over(order by x) + @x - 1
from LL
26 окт 11, 16:20    [11504163]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Tmin10
Member

Откуда: Нижний Новгород
Сообщений: 67
Поле int, ничего необычного
26 окт 11, 16:29    [11504253]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
Ken@t,

почему?
что цикл не использовать я позже заметил.
26 окт 11, 16:29    [11504255]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Tmin10
Member

Откуда: Нижний Новгород
Сообщений: 67
Вы не так поняли)))
Цикл в скрипте, а не в запросе)
26 окт 11, 16:33    [11504304]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Tmin10
Вы не так поняли)))
Цикл в скрипте, а не в запросе)
Циклов следует избегать.
И в скрипте, и в запросе!
26 окт 11, 16:37    [11504350]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Tmin10
Member

Откуда: Нижний Новгород
Сообщений: 67
Вот что я смог наваять:
DECLARE @i AS int, @n AS int
SET @i=1
SET @n=15
WHILE @i<=@n
BEGIN
	INSERT INTO diplom_new.dbo.diplom_numbers (one, two, three, four, five, six) 
	VALUES('111', @i, 4, GetDate(), 0, 1)
	SET @i=@i+1
END
26 окт 11, 16:56    [11504511]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Tmin10
Member

Откуда: Нижний Новгород
Сообщений: 67
OFF: у всех DNS был недоступен?
26 окт 11, 16:57    [11504520]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Tmin10,

версия 6.5?
26 окт 11, 17:03    [11504559]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
iljy
Member

Откуда:
Сообщений: 8711
Tmin10
diplom_new.dbo.diplom_numbers

Будущий дипломированный "специалист".
26 окт 11, 17:08    [11504596]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Tmin10
Member

Откуда: Нижний Новгород
Сообщений: 67
я только сегодня начал sql использовать дальше, чем select или insert, поэтому надеюсь на смягчения вашего мнения.
приведённый пример имеет место быть?
26 окт 11, 17:47    [11504873]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
Tmin10
Member

Откуда: Нижний Новгород
Сообщений: 67
iap,

версия чего? база 2008
26 окт 11, 17:48    [11504885]     Ответить | Цитировать Сообщить модератору
 Re: Добавление в базу многих идентичных записай с счётчиком  [new]
iljy
Member

Откуда:
Сообщений: 8711
Tmin10
iap,

версия чего? база 2008

Не база, а сервер. База - это ваши данные.
declare @t table (id int)
declare @x int, @y int
select @x = 5, @y = 20

;with L0(x) as (select 0 union all select 0),
	L1(x) as (select 0 from L0 l, L0),
	L2(x) as (select 0 from L1 l, L1),
	L3(x) as (select 0 from L2 l, L2),
	LL(x) as (select 0 from L3 l, L3)
insert @t
select top(@y-@x+1) ROW_NUMBER() over(order by x) + @x - 1 from LL

select * from @t
Такой пример понятнее?
26 окт 11, 17:50    [11504898]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить