Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एसक्यूएल सर्वर 2008 में डबल जबकि लूप कैसे प्राप्त करें?

ठीक है, यह आपको वांछित परिणाम देगा, लेकिन यह संदिग्ध है। मैं उसके बाद इसमें थोड़ा सुधार करने की कोशिश करूंगा।

DECLARE @tblCalendar TABLE(
        CalendarEntryID INT,
        Slot INT
)

DECLARE
@x int, @y int

SET @X = 1 SET @y = 1

WHILE @X <= 100
BEGIN 

    WHILE @Y <=8 AND @X <= 100--LOOP FOR SLOT COLUMN
            BEGIN
            INSERT INTO @tblCalendar (CalendarEntryID,Slot)
            Values (@x, @y)

                SET @y = @y + 1
                SET @x = @x + 1
            end

    SET @y = 1
END


SELECT  *
FROM    @tblCalendar

दूसरा तरीका यह होगा कि पहचान कॉलम का उपयोग किया जाए।

कुछ इस तरह

DECLARE @tblCalendar TABLE(
        CalendarEntryID INT IDENTITY(1,1),
        Slot INT
)

DECLARE
@x int, @y int

SET @X = 1 SET @y = 1

WHILE @X <= 100
BEGIN 

    WHILE @Y <=8 AND @X <= 100--LOOP FOR SLOT COLUMN
            BEGIN
            INSERT INTO @tblCalendar (Slot)
            Values (@y)

                SET @y = @y + 1
                SET @x = @x + 1
            end

    SET @y = 1
END


SELECT  *
FROM    @tblCalendar

लेकिन व्यक्तिगत रूप से मैं इसके लिए गया होता

DECLARE @Max INT = 100,
        @MaxGroup INT = 8

    ;WITH Val AS (
            SELECT  1 CalendarEntryID
            UNION ALL
            SELECT  CalendarEntryID + 1
            FROM    Val
            WHERE   CalendarEntryID + 1 <= @Max
    )
    SELECT  CalendarEntryID,
            ((CalendarEntryID - 1) % @MaxGroup) + 1 Slot
    FROM    Val
    OPTION (MAXRECURSION 0)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जहां का उपयोग कर एसक्यूएल क्वेरी परिणामों को फ़िल्टर करने वाले शून्य मान खोना

  2. ALTER TABLE कथन FOREIGN KEY बाधा के विपरीत है

  3. किसी भी JSON को SQL सर्वर में की-वैल्यू पेयर (EAV फॉर्मेट) की सूची में पढ़ें

  4. Sql सर्वर में बुकमार्क लुकअप क्या है?

  5. जब पाठक खुले कनेक्शन के साथ बंद होता है तो मुझे HasRows को कॉल करने का अमान्य प्रयास क्यों मिलता है?