Benutzer mit den meisten Antworten
SQL Query zur Zahlennummerierung

Frage
Antworten
-
Hallo ,
eine Möglichkeit wäre
Gruss Uli
declare @counter int set @counter = 0 create table #mytable (nummer int) while @counter<1000 begin /* Hier könntest Du auch gleich prüfen ob es einen Eintrag mit diesem Wert gibt */ insert #mytable (nummer)values(@counter) set @counter = @counter + 1 end
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 18. Mai 2011 13:43
-
--erstellt die Zahlen von 0 bis 999 und speichert in die Tabelle t1 use tempdb go ;with t2 as ( select 0 id union all select id = id + 1 from t2 where id < 999 ) select id into t1 from t2 option ( maxrecursion 0 ) go select id from t1 go drop table t1 go -- row_number use tempdb go create table t1(col1 nvarchar) go insert into t1 values('a'),('b'),('c'),('d'),('e') go select row_number() over(order by col1) as 'rn', col1 from t1 go drop table t1 go
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 18. Mai 2011 13:43
-
Hallo,
oder als rekursive Common Table Expression, wobei die maximal bis Werte (Rekursionstiefe) von 32.767 geht:
;WITH LfdNr
AS (SELECT 1 AS ID
UNION ALL
SELECT ID + 1
FROM LfdNr
WHERE id < 1000)
SELECT *
FROM LfdNr
OPTION (MAXRECURSION 1000);
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 18. Mai 2011 13:43
Alle Antworten
-
Hallo ,
eine Möglichkeit wäre
Gruss Uli
declare @counter int set @counter = 0 create table #mytable (nummer int) while @counter<1000 begin /* Hier könntest Du auch gleich prüfen ob es einen Eintrag mit diesem Wert gibt */ insert #mytable (nummer)values(@counter) set @counter = @counter + 1 end
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 18. Mai 2011 13:43
-
--erstellt die Zahlen von 0 bis 999 und speichert in die Tabelle t1 use tempdb go ;with t2 as ( select 0 id union all select id = id + 1 from t2 where id < 999 ) select id into t1 from t2 option ( maxrecursion 0 ) go select id from t1 go drop table t1 go -- row_number use tempdb go create table t1(col1 nvarchar) go insert into t1 values('a'),('b'),('c'),('d'),('e') go select row_number() over(order by col1) as 'rn', col1 from t1 go drop table t1 go
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 18. Mai 2011 13:43
-
Hallo,
oder als rekursive Common Table Expression, wobei die maximal bis Werte (Rekursionstiefe) von 32.767 geht:
;WITH LfdNr
AS (SELECT 1 AS ID
UNION ALL
SELECT ID + 1
FROM LfdNr
WHERE id < 1000)
SELECT *
FROM LfdNr
OPTION (MAXRECURSION 1000);
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 18. Mai 2011 13:43