Welcome to Sign in | Help

Re: update pe un field

  •  01-24-2008, 3:12 PM

    Re: update pe un field

    Procedurile stocate pot avea parametrii tip OUTPUT pentru a returna diverse valori.
    De asemenea intr-o procedura stocata se poate folosi instructiunea RETURN pentru a returna o valoare INT.

    Poti sa executi o procedura stocata folosind EXECUTE.

    Poti sa verifici daca o anumita linie dintr-un script SQL a fost executata cu succes folosind
    @@ERROR (SQL2000)
    sau / si
    TRY ... CATCH (SQL2005).

    Exemplu pt. SQL2005 (o solutie):
    CREATE PROCEDURE proc6
      @param1 INT,
      @param2 INT,
      @param3 INT,
      @param4 INT,
      @param5 INT,
      @eroare INT OUTPUT
    AS
      DECLARE @rezultat INT
      
      EXECUTE @rezultat = procedura1 @param1
      IF ( @rezultat != 0 )
      BEGIN
        SET @eroare = @rezultat
        RETURN 1 --eroare la executia procedurii 1
      END

      EXECUTE @rezultat = procedura2 @param2
      IF ( @rezultat != 0 )
      BEGIN
        SET @eroare = @rezultat
        RETURN 2 --eroare la executia procedurii 2
      END

      --executia celoralante proceduri

      EXECUTE @rezultat = procedura5 @param5
      IF ( @rezultat != 0 )
      BEGIN
        SET @eroare = @rezultat
        RETURN 5 --eroare la executia procedurii 5
      END
      
      RETURN 0 --executia celor 5 proceduri s-a incheiat cu succes


    Fiecare din cele 5 proceduri pot fi definite astfel (o posibila solutie):
    CREATE PROCEDURE procedura1
      @p INT
    AS

    BEGIN TRY
      
      SELECT ___
      INSERT ___
      UPDATE ___  

      RETURN 0
    END TRY
    BEGIN CATCH
      RETURN ERROR_NUMBER()
    END CATCH


    Folosesti si tranzactii ?
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems