Guten Abend zusammen !
Es geht schon wieder um Rechnungsnummern. Ja, gesucht hab ich genug!
Vorab: Was ist die bessere (=schnellere) Formulierung ?
Select Top 1 Nummer from Nummern where Datum is null order by Nummer
oder
Select MAX(Nummer) from Nummern where Datum is null
Warum warum liefert diese Formulierung einen Syntaxfehler ?
SET @Nummer = Select MAX(Nummer) as MaxNr FROM Nummern
Wie krieg ich die grösste Nummer in eine lokale Variable ?
Gibt es im
SQL sowas wie einen "Aktuellen Datensatz" ? Bei Triggern gibts ja DELETED und INSERTED.
In einer professionellen Warenwirtschaft hab ich auch herumgestöbert.
Da wird ein Cursor deklariert und mit Fetch werden die Feldwerte in lokale Variablen geholt.
Kurzer Ausschnitt:
SQL-Code:
DECLARE cAdressen CURSOR FOR SELECT Mandant,Adresse,Telefon,Mobilfunk FROM Inserted
OPEN cAdressen
IF @@Cursor_Rows<>0
BEGIN
FETCH NEXT FROM cAdressen INTO @Mandant,@Adresse,@Telefon,@Mobilfunk
WHILE (@@FETCH_STATUS = 0)
BEGIN
....
END
END
CLOSE cAdressen
DEALLOCATE cAdressen
Geht das nicht einfacher ?
Viele Fragen an die
SQL-Gurus. THX im Vorraus !