2012-05-12 45 views
6

'da belirli bir sınırlanmış sayıları bir sütuna ekleme Belirli bir sayıdan başlayan (örneğin 100) artan sayıları ekleyen ve başka bir özel sayıdaki (örneğin 3000) bir SQL sütununa bir SQL sorgusu yazmak istiyorum. SQL Server'da tablo, ancak bunu nasıl yapacağımı bilmiyorum. ÖrneğinSQL Server

: Ben Category dan categoryID (sütun) içine 3000 100 eklemek istediğiniz
(tablo)

+0

'categoryID'' IDENTITY' ayarlandı mı? Veri tabanı tasarımında kötü uygulama olarak kabul edilen bir şeyi yapmaya çalıştığınız anlaşılıyor: Anlamlı değerlere sahip olmak. – Filburt

cevap

7
DECLARE @id INT 
SET @id = 100 
WHILE (@id <= 300) 
BEGIN 
    insert into categories (categoryID) values (@id) 
    SELECT @id = @id + 1 
END 
1

Aynı şey Çok teşekkür ederim, ama özyinelemeli CTE kullanarak:

DECLARE @i INT 
DECLARE @n INT 
SET @i = 100 
SET @n = 3000 
;WITH t(c) AS (
    SELECT @i 
    UNION ALL 
    SELECT c + 1 FROM t WHERE c < @n 
) 
INSERT INTO Categories(categoryID) 
    SELECT c FROM t OPTION(MAXRECURSION 3000)