Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 3 von 3

Thema: MSSQL Stored Procedure Datenmanipulation

  1. #1
    Registriert seit
    04.12.2009
    Ort
    Paderborn
    Beiträge
    12
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen zusammen.

    Ich brüte gerade über meiner ersten stored procedure mit folgendem
    Problem:

    In einer Tabelle befinden sich Datensätze mit Etikettendaten.
    Es wird bei einer Abfrage genau EIN Datensatz selektiert, wenn die
    entsprechende Produktnummer vorhanden ist.
    Ist die Produktnummer nicht vorhanden, so ergibt das SELECT natürlich NULL.
    In DIESEM Fall soll der zurückzugebende Datensatz mit Standardwerten gefüllt werden.

    Vereinfacht :

    Nehmen wir an in der Tabelle gibt es 2 Spalten :
    PROD_NR [int]
    ART_NR [int]

    Werte innerhalb der Tabelle :

    PROD_NR ----------- ART_NR

    1000 2000
    1010 8976


    Ich übergebe die PROD_NR 1010 und erhalte als OUTPUT dann PROD_NR 1010 und ART_NR 8976 des selektierten Datensatzes.

    Sollte die übergebene PROD_NR nicht vorhanden sein, so soll die Procedure
    IMMER PROD_NR 9999 und ART_NR 9999 zurückgeben.

    Ich habe z.Zt. keine Ahnung wie ich syntaxmässig auf die erfolgreich SELECTierten Daten innerhalb der SP zugreifen kann und diese per IF THEN ELSE modifizieren kann .....

    Ich hoffe ich habe mich einigermassen verständlich ausgedrückt

    Gruß
    Mark
    Zitieren Zitieren MSSQL Stored Procedure Datenmanipulation  

  2. #2
    Registriert seit
    01.08.2005
    Beiträge
    149
    Danke
    0
    Erhielt 20 Danke für 19 Beiträge

    Standard

    Hallo,

    kann gerade nicht testen, aber ich würde einen Datensatz anlegen der folgendes enthält
    Code:
    PROD_NR    ART_NR
    9999         9999
    Und dann folgenden SELECT verwenden (Abfrage nach Prod-Code=0815):

    [PHP]
    IF EXISTS

    (SELECT PROD_NR, ART_NR FROM myTable WHERE PROD_NR = 0815)

    SELECT PROD_NR, ART_NR FROM myTable WHERE PROD_NR = 0815

    ELSE

    SELECT PROD_NR, ART_NR FROM myTable WHERE PROD_NR = 9999

    [/PHP]

    Hoffe das geht!

    Viel Erfolg

  3. #3
    Vincent Vega ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.12.2009
    Ort
    Paderborn
    Beiträge
    12
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für die Antwort.
    So habe ich es in der Zwischenzeit auch gelöst - funktioniert

    IF EXISTS(SELECT * FROM dbo.TBL_Values WHERE PRODUKT_NR = @PRODNR)
    SELECT (PRODUKT_NR, ART_NR, ART_BEZ01, ART_BEZ02, MHD, N_ARTIKEL, N_KARTON) FROM PROD WHERE PRODUKT_NR = @PRODNR
    ELSE
    SELECT (PRODUKT_NR, ART_NR, ART_BEZ01, ART_BEZ02, MHD, N_ARTIKEL, N_KARTON) FROM dbo.TBL_NOREAD WHERE PRODUKT_NR = 999999

    Obwohl ich immer noch wissen möchte wie ich den Datensatz bearbeiten kann ...

Ähnliche Themen

  1. mit OPC Daten auf MSSQL Datenbank schreiben
    Von Arcon im Forum Hochsprachen - OPC
    Antworten: 38
    Letzter Beitrag: 18.10.2010, 16:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •