Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Case in Prcedur

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von PeterW, 18 Februar 2017.

  1. PeterW

    PeterW Benutzer

    Hallo!
    Ich möchte in einer gespeicherten Procedur mit Parameter den Parameter als Wert festlegen.
    Wenn der Wert 1 ist sollte etwas passieren bei 2, 3, usw.
    Mit dieser unten stehenden Konstruktion gibt es Probleme.


    CREATE PROCEDURE dbo.Test @Parameter as Bit
    AS
    SELECT @Parameter.CASE
    When @Parameter=1
    Anwendung ....
    When @Parameter=2
    Anwendung ....
    When @Parameter=3
    Anwendung ....
    When @Parameter=4
    Anwendung ....
    End CASE

    Ich bitte um einen tipp
    Besten Dank im voraus

    Peter
     
  2. ukulele

    ukulele Datenbank-Guru

    Also wenn du die Variable abhängig von ihrem eigenen Wert oder einer anderen Bedingung nur neu setzen willst würde ich es mit SET und CASE machen:
    Code:
    SET @Paramenter = ( CASE WHEN @Paramenter = 1 THEN 11 WHEN @Paramenter = 2 THEN 22 ELSE 0 END )
    Wenn du abhängig von ihrem Wert eine Anweisung ausführen willst wärst du mit IF ELSE gut beraten:
    Code:
    IF @Parameter = 1 BEGIN SELECT 'a' END ELSE BEGIN SELECT 'b' END
    Das kann man naütlich verschachteln, du solltest aber die Anweisung immer mit BEGIN und END zusammen fassen sonst ist nicht klar wo die Anweisung des IFs endet.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden