tabelle mit datum füllen (ohne einzeln eingeben)

hallo leute,
ich bin neu hier und habe ein Problem:

Ich habe eine Datenbank(MS SQL-Server) in der es eine Tabelle Einsatzplan gibt. In dieser Tabelle habe ich eine Spalte Datum, diese habe ich per hand mit 4-5 Daten gefüllt…nun möchte ich aber nich das komplette Jahr per hand eingeben müssen! Kann man das irgendwie generieren, das die Spalte per Schleife oder so gefüllt wird?
Ich brauche das Datum in Visual Basic in einer Pivot Tabelle…
Da ich aber nur Daten aus einer Datenbank einbinden kann wollte ich versuchen die Tabelle mit dem Datum zu füllen!!!

Bin auch offen für andere Anregungen wie z.B das Problem in VB zu lösen!



Vielen dank für euer Verständnis! MFGc

Muß es VB sein, oder gehen auch die Dinge, die PG selbst schon kann?


[codetest=# create table foo (id serial, datum date);
NOTICE: CREATE TABLE will create implicit sequence “foo_id_seq” for serial column “foo.id”
CREATE TABLE
test=# insert into foo (datum) select ‘2007-01-01’::date + generate_series(0,364);
INSERT 0 365
test=
# select * from foo order by 1 limit 5;
id | datum
----±-----------
1 | 2007-01-01
2 | 2007-01-02
3 | 2007-01-03
4 | 2007-01-04
5 | 2007-01-05
(5 rows)

test=*# select * from foo order by 1 desc limit 5;
id | datum
-----±-----------
365 | 2007-12-31
364 | 2007-12-30
363 | 2007-12-29
362 | 2007-12-28
361 | 2007-12-27
(5 rows)
[/code]


Andreas

Ich habe den Code im SQL Query Analyzer eingegeben…die Frage war eigentlich nicht auf PG bezogen…die antwort sieht zwar richtig gut aus, nur leider gibt der analyzer mir diesen Fehler:

Server: Nachr.-Nr. 170, Schweregrad 15, Status 1, Zeile 1
Zeile 1: Falsche Syntax in der Nähe von ‘:’.

das ist mein code:

insert into Einsatzplan(datum) select “2007-01-01” :: date + generate_series(0,364);
INSERT 0 365


kannst du damit was anfangen? was mache ich falsch?

Um das Datum herum das " gegen ’ tauschen und die Zeile ‘INSERT 0 365’ weglassen.

Andreas

mmhh…das habe ich auch schon probiert…er meckert immernoch wegen den beiden doppelpunkten…

probier mal:

select cast('2007-01-01' as date) + generate_series(0,364);

der :: - Operator als CAST ist spezifisch für PG, obige Langform SQL-konform.


Andreas

das klappt leider auch nicht…

er meckert: Zugriffsverletzung…

aber danke für deine Hilfe!!!

Über was reden wir einklich? Dein

Datenbank(MS SQL-Server)

habe ich großspurig überlesen, aber das in Verbindung mit anderen Aussagen läßt Zweifel aufkommen.

Falls es M$ SQL-Server ist, bist Du möglicherweise im flaschen Forum.

Andreas