Announcement

Collapse
No announcement yet.

View, Feld- und Funktionskennung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • View, Feld- und Funktionskennung

    Hallo,<br>
    <br>
    ich habe einen View, z.B.,&nbsp;<br>
    <font face="Courier New" size="2"><b>&nbsp;&nbsp;&nbsp; CREATE VIEW
    dbo.IchBinEinTestView<br>
    &nbsp;&nbsp;&nbsp; AS<br>
    &nbsp;&nbsp;&nbsp; SELECT&nbsp; dbo.FeldA,&nbsp;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp; dbo.FeldB as
    BBB,&nbsp;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;
    dbo.FunctionXYZ(dbo.FeldC, dbo.FeldD) as CCC<br>
    &nbsp;&nbsp;&nbsp; FROM dbo.TestTabelle</b></font></p>
    <p>Wie bekomme ich nun mit den Systemtabellen vom SQL-Server heraus, dass<br>
    &nbsp;&nbsp;&nbsp; <b>FeldA</b> und <b>BBB</b> ein &quot;normales&quot;
    Datenbank-Feld ist&nbsp;<br>
    und<br>
    &nbsp;&nbsp;&nbsp; Feld <b>CCC</b> ein Feld, welches über eine &quot;function&quot;
    ermittelt/berechnet wird ?</p>
    <p>Habe schon mit sysobjects und syscolumns herum experementiert.&nbsp;<br>
    <b><font face="Courier New" size="2">&nbsp;&nbsp;&nbsp; SELECT dbo.sysobjects.name,
    dbo.syscolumns.*<br>
    &nbsp;&nbsp;&nbsp; FROM dbo.sysobjects INNER JOIN<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ; dbo.syscolumns ON dbo.sysobjects.id = dbo.syscolumns.id<br>
    &nbsp;&nbsp;&nbsp; WHERE (dbo.sysobjects.xtype = 'V') AND (dbo.sysobjects.name =
    '</font></b><font face="Courier New" size="2"><b>IchBinEinTestView</b></font><b><font face="Courier New" size="2">')<br>
    &nbsp;&nbsp;&nbsp; ORDER BY dbo.sysobjects.name<br>
    </font></b>Leider ohne Erfolg.<br>
    Auch das Feld dbo.syscolumns.iscomputed liefert kein Ergebnis darüber.<br>
    <br>
    Gruss und Dank<br>
    &nbsp;&nbsp;&nbsp; Dietmar</p>

  • #2
    Hallo Dietmar,

    leider kann ich dir nicht viel helfen, da du recht hast und ich auch keine anderen Systemtabellen kenne, wo das drinnensteht. Würde als erstenWorkaround mal vorschlagen, das eben über den Feldnamen zu lösen, vielleicht berechnete Felder immer mit einem Underscore anfangen zu lassen.

    bye,
    Helmu

    Comment


    • #3
      Hallo,

      &gt;Wie bekomme ich nun mit den Systemtabellen vom SQL-Server heraus....

      Die Abfrage nach einem bestimmten Spaltennamen (<i>SELECT id FROM dbo.syscolumns WHERE name = 'Spaltenname'</i>) liefert nur dann einen Treffer zurück, wenn es sich um eine Spalte einer Basistabelle handelt. Die Spalten einer Sichttabelle (VIEW) tauchen dort nicht auf

      Comment

      Working...
      X