Hej
Będę miał taką tabelę:
CREATE TABLE Time(
id INTEGER IDENTITY(1,1) PRIMARY KEY,
hour INTEGER NOT NULL,
minute INTEGER NOT NULL,
second INTEGER NOT NULL
);
Do tego dojdzie jeszcze jedno pole opisowe, ale to sobie sam z tym poradzę.
Chcę za pomocą skryptu .sql wygenerować wszystkie kombinacje od 0:00:00 do 23:59:59.
Udało mi się to zrobić 3 pętlami while, wygląda tragicznie, działa niezbyt szybko, ale działa (no i wstawia po kolei, co też jest spoko)
DECLARE @CurrentHour INT = 0,
@CurrentMinute INT = 0,
@CurrentSecond INT = 0;
WHILE @CurrentHour < 24
BEGIN
WHILE @CurrentMinute < 60
BEGIN
WHILE @CurrentSecond < 60
BEGIN
INSERT INTO Time VALUES (@CurrentHour, @CurrentMinute, @CurrentSecond);
SET @CurrentSecond = @CurrentSecond + 1;
END
SET @CurrentMinute = @CurrentMinute + 1;
SET @CurrentSecond = 0;
END
SET @CurrentHour = @CurrentHour + 1;
SET @CurrentMinute = 0;
SET @CurrentSecond = 0;
END
I moje pytanko to wymiataczy - czy jest jakieś lepszy, bardziej wydajny sposób aby to zrobić?