1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

View soll Liste zurückgeben

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Tossi65, 12 Januar 2018.

  1. Tossi65

    Tossi65 Neuer Benutzer

    Guten Tag,
    gibt es eine Möglichkeit, das eine View kein Resultset, sondern eine Liste in Form Feld = Value zurück gibt?

    Vielen Dank Tossi65
     
  2. Chuky666

    Chuky666 Datenbank-Guru

    Hallo,

    da heute Freitag ist und fast Mittag ist meine Vorstellungskraft quasi nicht mehr wirklich vorhanden und es wäre toll wenn du schemenhaft darstellen könntest was gewünscht ist, wie der IST-Zustand aussieht und vllt. 2-3 klitze kleine Infos mehr...

    Danke und Grüße
     
    akretschmer gefällt das.
  3. Tossi65

    Tossi65 Neuer Benutzer

    Hallo Chuky666,
    im Normalfall möchte ich ein Ergebnis (Spaltename = Wert) als Liste zurück bekommen. Diese Liste wird von einem anderen Programm verwendet.
    Die View gibt mir immer eine Tabellenansicht zurück. Außerdem muss ich die View immer anpassen, wenn eine Spalte hinzukommt. Bei der Liste ist das egal, einfach ein Eintrag mehr.
    Also konkret würde ich gerne eine StoredProcedure bauen, die mir eine Liste wie beschrieben zurüch gibt. Eine weitere Frage hat sich gerade aufgetan: Wie komme ich an den Spaltenname in SQL heran???
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Code:
    test=# create  table tossi(key text, value text);
    CREATE TABLE
    test=*# insert into tossi values ('Key1','Val1');
    INSERT 0 1
    test=*# insert into tossi values ('Key2','Val2');
    INSERT 0 1
    test=*# insert into tossi values ('Key3','Val3');
    INSERT 0 1
    test=*# select * from tossi ;
     key  | value
    ------+-------
     Key1 | Val1
     Key2 | Val2
     Key3 | Val3
    (3 rows)
    
    test=*# select key, value from tossi ;
     key  | value
    ------+-------
     Key1 | Val1
     Key2 | Val2
     Key3 | Val3
    (3 rows)
    
    test=*# select (key, value) from tossi ;
      row   
    -------------
     (Key1,Val1)
     (Key2,Val2)
     (Key3,Val3)
    (3 rows)
    
    test=*# select key || '=' || value from tossi;
     ?column?  
    -----------
     Key1=Val1
     Key2=Val2
     Key3=Val3
    (3 rows)
    
    test=*# select '(' || key || '=' || value || ')' from tossi;
      ?column?   
    -------------
     (Key1=Val1)
     (Key2=Val2)
     (Key3=Val3)
    (3 rows)
    
    test=*#
    
     
  5. ukulele

    ukulele Datenbank-Guru

    Code:
    SELECT   sysobjects.[name] + '.'  + syscolumns.[name] AS spalte,
         systypes.name AS datatype,
         syscolumns.[length] AS [length]
    FROM   sysobjects
    INNER JOIN syscolumns
    ON     sysobjects.[id] = syscolumns.[id]
    INNER JOIN systypes
    ON     syscolumns.xtype = systypes.xtype
    WHERE   sysobjects.[xtype]='U'
    Damit kommst du an alle Tabellen / Spaltennamen etc. ran und dann gibt es natürlich mehrere Möglichkeiten das zu nutzen um dein Select dynamisch zu machen. Das ist aber schon einiges an arbeit, einfacher ist es erstmal die Spalten in den Select einzusetzen und dann zu verketten. Man kann ja auch den Spaltennamen dann fix einsetzen.

    Wäre vielleicht auch mit XML sinnvoll machbar, du müsstest uns aber veraten was du mit den Daten danach vor hast.
     
Die Seite wird geladen...

Diese Seite empfehlen