2012-11-04 29 views
7

SQL Server 2012 var ve sıralamanın ne olduğunu bilmek istiyorum. Dizinin kullanımını açıklamak için bir örnek arıyorum.SQL Server 2012'de dizinin kullanımı

DÜZENLEME

oluşturmak ve veritabanında Sırası kullanmak biliyorum. Sekans kullanımı için pratik senaryo nedir bilmek istiyorum.

+1

Tam olarak ne demek istediğinizden emin değilim, ancak bu bağlantıya bakmayı deneyin. http://msdn.microsoft.com/en-us/library/ms189499.aspx Veritabanından – Koenyn

+0

veri almak için select deyiminin sözdizimini gösterecektir. –

cevap

4
CREATE SEQUENCE dbo.OrderIDs 
    AS INT 
    MINVALUE 1 
    NO MAXVALUE 
    START WITH 1; 

SELECT NextOrderID = NEXT VALUE FOR dbo.OrderIDs 
UNION ALL  SELECT NEXT VALUE FOR dbo.OrderIDs 
UNION ALL  SELECT NEXT VALUE FOR dbo.OrderIDs; 

Sonuçlar:

NextOrderID 
----------- 
1 
2 
3 

orijinal kaynağı ve daha fazla örnek için here bakınız. Sayfa, SQL 2012'nin beta olan SQL Server Denali'yi ifade eder ancak sözdizimi hala aynıdır.

2

SEQUENCE komutundan yararlandığım yöntemlerden biri, ASP/C# ayrıntıları görünümü sayfasındaki referans numaralar içindir (örnek olarak). Bir veritabanına istekleri girmek için ayrıntılar bölümünü kullanıyorum ve SEQUENCE komutu her istek için istek/bilet numarası olarak hizmet veriyor. Her bir istek için belirli bir sayı ile başlayıp 1'e kadar artırmaya başlamak için inital dizi komutunu ayarladım.

Bu istekleri bir kılavuz görünümünde gösterirseniz, SIRALAMA referans numaralarının görünmesini sağlarım, ancak bunları düzenlenebilir yapmadım. Kayıtlar veritabanındaki diğer alanlarla benzer olduğunda, referans numarası için mükemmeldir. Belirli bir veritabanında belirli bir girişle ilgili soruları olduğunda müşteriler için de mükemmeldir. Bu sayede bilginin geri kalanı aynı olsun ya da olmasın, giriş başına benzersiz bir numaram var. İşte

Genellikle SIRA komutunu kaldıraç nasıl: (Eğer başlamak istediğiniz numarayı seçebilirsiniz), ben 1. benim dizisini başlatmak Kısacası

CREATE SEQUENCE blah.deblah 
    START WITH 1 
    INCREMENT BY 1 
    NO CYCLE 
    NO CACHE 

ve 1 artışlarla yukarı doğru sayar Sistem numarasına ulaştıklarında sıra numaralarını çevirmem.