SQL/Sqlserver/SP/Stored procedure: Funksjon som støtter Select, Insert, Update og Delete
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