Announcement

Collapse
No announcement yet.

T-sql - Udf >insert<

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

  • T-sql - Udf >insert<

    Hallo,

    habe eine UDF in TSQL auf einem mssql server 2000.
    diese gibt ein typ "table" zurück.

    ich sollte aber in der udf selbst einen insert auf eine reale tabelle machen??
    sowas ist wohl nicht vorgesehen für eine udf ;(

    ich dachte mir bastel ich noch eine sp die mir diesen insert macht und rufe diese sp in der udf auf???

    gibt es noch bessere möglichkeiten?


    grüsse

    grizzel
    Zuletzt editiert von grizzel; 31.05.2007, 09:01.

  • #2
    Hallo,

    in einer udf kann man keine Procedure und keine Datenaktualisierungen vornehmen! Also das passt nicht zu deinem Problem! Du solltest eine Procedure für Dein Problem schreiben!

    Gruß
    Thomas

    Comment


    • #3
      The types of statements that are valid in a function include:
      EXECUTE statements calling an extended stored procedure.

      habe ich aus der sql hilfe ??

      Wenn ich eine stored procedure schreibe kann ich keine table zurückgeben ;(

      Comment


      • #4
        Hallo grizzel,

        bedingt geht das... Ist glaube ich nicht dokumentiert! Du kannst in einer Procedure ein Resultset zurückgeben (Also z.B. Select * from Irgendwas) und in der Procedure, wo Du dieses Resultset verwendet möchtest, legst Du eine Temporäre Tabelle an, und schreibst einen Befehl: "Insert Into TempTabelle(Spalte1, Spalte2, etc...) exec MeineProcedure @Parameter1, etc... Und diese kannst Du dann ja weiter nutzen

        Gruß
        Thomas

        Comment


        • #5
          habe deine obige ausführung nicht ganz verstanden.

          ich habe das problem das die rückgabe ein vb - recordset entgegen nimmt!
          das muss also passen und da nimmt er glaube ich nur den typ table?

          also habe ich mich für eine udf entschieden, das funktioniert auch soweit gut.

          nur bekomme ich jetzt probleme da in der udf ein datensatz in eine externe tabelle eingetragen werden soll, was ja systemtechnisch so erst mal nicht geht.

          hm...

          Comment


          • #6
            Für diesen Fall gibt es einfach Stored Procedures!!! Poste bitte mal die UDF!

            Gruß
            Thomas

            Comment


            • #7
              wie würde den so eine rückgabe vom typ table bei einer stored procedure aussehen?

              Comment


              • #8
                ?? Na ein Recordset ?? Rückgabe-beispiel: Select * from [MeineTabelle]!

                Gruß
                Thomas

                Comment

                Working...
                X