Posts Tagged SELECT

Procedura za provjeru postoji li slog istog primarnog ključa

Procedura za provjeru postojanja sloga s istim primarnim ključem koristi se kod zapisa odnosno izmjene podataka. Koristi se output varijabla kao rezultat pretrage.

Zadatak procedure za provjeru postojanja sloga u našoj tablici MP_VALUTA je

  • prihvat podataka šifre valute koju želimo provjeriti
  • provjera postojanja sloga običnim preborjavanjem slogoca (COUNT)
  • rezultat prebrojavanja se sprema u output varijablu
  • u pomoćnu varijablu zapisati upješnost izvršenja radnje

Evo kako bi ta procedura izgledala:


CREATE PROCEDURE dbo.mp_valuta_exists
 @valuta     CHAR(3),
 @out_ima    INT        OUT
AS

SET NOCOUNT ON

DECLARE    @err    INT
SET @err = -1

SELECT    @out_ima    = COUNT(VALUTA)
 FROM    MP_VALUTA
 WHERE    VALUTA    = @valuta
SET @err = @err + @@ERROR

RETURN @err
GO

Ovdje se koristi funkcija COUNT koja vraća broj slogova tablice. Kao parametar se koristi primary key polje VALUTA ali sam na puno mjesta vidio da se koristi i COUNT(*). Ta solucija je isto ispravna jedino je zanemarivo sporija ukoliko se radi o većoj tablici koja ima više polja.

Output varijabla @out_ima dobija vrijednost broja slogova koji imaju u polju VALUTA vrijednost @valuta. Kako se radi o primarnom ključu, vrijednost može biti samo 0 ili 1.

, ,

No Comments