SQL/Sqlserver/SP/Stored procedure: Funksjon som støtter Select, Insert, Update og Delete

No comments

Etter inspirasjon fra grensesnittet på en SP noen databasekolleger har laget

 kommer her en Stored Procedure som har støtte for CRUD-operasjoner.

Eller SIUD på databasisk(...nytt ord:)

 

Ps Jeg har ingen databasekompetanse, jeg bare lager det jeg trenger akkurat der og da…

De som kan det kan helt sikkert forbedre dette :)

Enjoy:

 

 

USE [DINDATABASE]

GO

 

SET ANSI_NULLS ON

GO

 

SET QUOTED_IDENTIFIER ON

GO

CREATE PROCEDURE [dbo].[HentConfig]

      @Valg Varchar(100) = NULL,

      @Verdi Varchar(MAX) =  NULL,

      @Funksjon Char(1)='L'

AS

BEGIN

 

SET NOCOUNT ON;

 

      IF(@Funksjon='L')

            -- List records

            BEGIN

                  SELECT

                        Valg, Verdi

                  FROM

                        HendelseVarselKonfig

                  WHERE

                        (Valg=@Valg OR @Valg IS NULL)

                 

                  RETURN @@ERROR

           

            END

      ELSE

      IF(@Funksjon='I')

      -- Insert record

            BEGIN

                  IF NOT EXISTS (SELECT Verdi FROM HendelseVarselKonfig

                                         WHERE Valg=@Valg )                

                        BEGIN

                             INSERT INTO HendelseVarselKonfig

                                   (Valg, Verdi)

                              VALUES

                                   (@Valg, @Verdi)

                                                                

                             RETURN @@ERROR         

                        END

                  ELSE

                        BEGIN

                             RAISERROR('Denne verdien finnes allerede',11,1)

                             RETURN @@ERROR

                        END

            END

            ELSE

      IF(@Funksjon='U')

      -- update record

            BEGIN

                  IF EXISTS (SELECT Verdi FROM HendelseVarselKonfig

                                         WHERE Valg=@Valg )                

                        BEGIN

                             UPDATE HendelseVarselKonfig

                                   SET Verdi=@Verdi

                             WHERE

                                   Valg=@Valg

                                                                

                             RETURN @@ERROR         

                        END

                  ELSE

                        BEGIN

                             RAISERROR('Denne verdien finnes ikke',11,1)

                             RETURN @@ERROR

                        END

            END

           

           

      ELSE

      IF(@Funksjon='D')

      -- Slett record

            BEGIN

                  IF EXISTS (SELECT Verdi FROM HendelseVarselKonfig

                                         WHERE Valg=@Valg )                

                        BEGIN

                             DELETE FROM HendelseVarselKonfig                                

                             WHERE

                                   Valg=@Valg

                            

                             RETURN @@ERROR         

                        END

                  ELSE

                        BEGIN

                             RAISERROR('Denne verdien finnes ikke',11,1)

                             RETURN @@ERROR

                        END

            END

      ELSE

      -- UKJENT FUNKSJON

            BEGIN

                  RAISERROR('Denne funksjonen finnes ikke',11,1)

                  RETURN @@ERROR

            END

 

     

     

END

 

GO

 

 

 

Posted via email from Henris blogg

No comments :

Post a Comment