none
over wird nicht unterstützt RRS feed

  • Frage

  • Hallo!

    Ich möchte eine ID-Spalte, aus einer SQL-Abfrage in der ich keine ID-Spalte einer Tabelle nutzen kann, erstellen.

    Theoretisch kann ich das mit der ROW_NUMBER() - Funktion:

    SELECT 
    ROW_NUMBER() OVER (ORDER BY DATUM) as ID,
    

    Im SQL-Server-Manager funktioniert die Abfrage auch. Ich benutze die Abfrage aber in C# in einem DataSet.

    Dort wird  OVER aber nicht unterstützt:

    Das SQL-Konstrukt oder die Anweisung "OVER" wird nicht unterstützt.

    Gibt es mit Transakt-SQL noch eine andere Lösung?

    Umgebung: SQL-Server 2005

    Dienstag, 24. September 2013 09:07

Antworten

  • Versuchs doch mal mit einer (auf dem Srever) gespeicherten Prozedur.

    Dort kannst Du Dich dann austoben..

    Oder wird das auch nicht unterstützt?


    Andreas Wolter | Microsoft Certified Master SQL Server
    Blog: www.insidesql.org/blogs/andreaswolter
    Web: www.andreas-wolter.com

    • Als Antwort markiert perlfred Donnerstag, 26. September 2013 08:00
    Dienstag, 24. September 2013 12:33
  • Hallo Andreas!

    Danke für deine Antwort.

    Mit einer Prozedur wollte ich es nicht lösen, da es dadurch sehr vom verwendeten DBMS abhängig wird.

    Ich habe aber eine andere Lösung gefunden.
    Ich kann eine (zusätzliche) Spalte in der DataTable (des Datasets) erstellen, bei der ich eine AutoIncrement-Eigenschaft definieren kann.

    Trotzdem danke für deinen Lösungsvorschlag!

    Fred.

    • Als Antwort markiert perlfred Donnerstag, 26. September 2013 08:00
    Donnerstag, 26. September 2013 07:59

Alle Antworten

  • Versuchs doch mal mit einer (auf dem Srever) gespeicherten Prozedur.

    Dort kannst Du Dich dann austoben..

    Oder wird das auch nicht unterstützt?


    Andreas Wolter | Microsoft Certified Master SQL Server
    Blog: www.insidesql.org/blogs/andreaswolter
    Web: www.andreas-wolter.com

    • Als Antwort markiert perlfred Donnerstag, 26. September 2013 08:00
    Dienstag, 24. September 2013 12:33
  • Hallo Andreas!

    Danke für deine Antwort.

    Mit einer Prozedur wollte ich es nicht lösen, da es dadurch sehr vom verwendeten DBMS abhängig wird.

    Ich habe aber eine andere Lösung gefunden.
    Ich kann eine (zusätzliche) Spalte in der DataTable (des Datasets) erstellen, bei der ich eine AutoIncrement-Eigenschaft definieren kann.

    Trotzdem danke für deinen Lösungsvorschlag!

    Fred.

    • Als Antwort markiert perlfred Donnerstag, 26. September 2013 08:00
    Donnerstag, 26. September 2013 07:59