Announcement

Collapse
No announcement yet.

Stored Procedures

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

  • Stored Procedures

    Hallo zusammen,

    mache derzeitig ein Praktikum, und arbeite hier mit Microsoft SQL Server Management Studio 2005.

    Ziel meiner Aufgabe ist es über ein Stored Procedure drei SQL Scripts hintereinander laufen zu lassen, wobei aus der Spalte "ItemID" und "CustomerID" aus dem Ergebnis des ersten Scriptes eine Variable entstehen soll. Damit diese in den beiden nächsten ablaufenden Scripts "eingesetzt" werden kann, weil danach gefiltert werden soll.

    Da ich damit noch nie gearbeitet habe, hab ich mir ein paar Tutorials und Anfängerhilfen durchgelesen. Doch aus irgendeinem Grund funktioniert es noch nicht.

    Derzeitig bin ich auch noch ganz am Anfang. Ich möchte ersteinmal das Ergebnis meines ersten SQL -Scripts angezeigt bekommen.


    CREATE PROCEDURE [ABCInformations]

    @PromotionID char (10),
    @ItemQualifierID varchar (20),
    @CustomerQualifierID varchar (10)

    AS
    Select strPromotionID AS [PromotionID], ...............
    From Promotion LEFT OUTER JOIN (da hab ich mehrer left joins hintereinander)
    where strPromotionID = '1234567890'



    Angezeigt bekomme ich als Fehler:

    There is already an object named 'ABCInformations' in the database.

    Wenn ich jetzt allerdings "ABCInformations" auf irgendetwas anderes änder, dann gibt er mir nur beim allerersten ausführen keinen Fehler aus, jedoch bekomme ich auch keine Ausgabe des Datensatzes


    Ich hoffe mir kann jemand helfen, oder weitere Tutorials, Hilfen ect. empfehlen, damit ich das Thema besser verstehe.


    MfG

    Tias

  • #2
    Hallo,

    wenn das Skript ausgeführt wird so wird die SPROC in der DB erstellt und ist bei jedem weiteren Ausführen bereits vorhanden -> überschreiben geht nicht -> Fehler.

    D.h. entweder löschen od. per ALTER PROCEDURE den Code ändern, oder...


    Siehe Einführung in SQL: Prozeduren


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Hallo Tias,
      das ist wohl ein kleines Missverständnis. CREATE oder ALTER PROCEDURE legen eine StoredProcedure im SQL Server an, bzw. ändern diese.

      Um die Prozedur auszuführen kannst Du im Abfragefenster des Management Studios eingeben:
      Code:
      EXEC [ABCInformations] 'Param1', 'Param2', 'Param3'
      wobei Param1-3 die Werte für deine 3 Parameter sind.
      Damit wird die StoredProc ausgeführt.

      Gruß, Bruno

      Comment


      • #4
        Edit: War auch gelöst.

        Aber jetzt brauch ich nochmal hilfe.

        Und zwar hab ich eine IF-Anweisung


        If @promotionid1 = @promotion id

        begin
        select tbl1.Answer
        from...left joins
        end

        else if @promotionid2 = @promotion id

        begin
        select tbl2.Answer
        from...left joins
        end

        else

        begin
        select tbl3.Answer
        from...left joins
        end

        Ich bekomme keine Fehlermeldung, allerdings steht in der ausgabe auch nur NULL, obwohl die Entsperchende ID in einer dieser Tabellen ist.



        Ich hoffe das mir jemand eine Antwort geben kann, warum ich keine Ausgabe bekomme.

        MfG

        Tias
        Zuletzt editiert von tias123; 16.07.2010, 12:41.

        Comment

        Working...
        X