Zdrojové kódy pro vývojáře.
Přeskočit odkazy pro navigaci Top 10 přispěvatelů
UživatelČlánky
codeshare45
sochor1
stoupa1
tomas.oplt15
Článek: SQL procedura s nepovinným parametrem
Špatný Super
Autor:
Vytvořeno:
Popularita:

SQL procedura s nepovinným parametrem

V některých případech je třeba získat všechny záznamy z tabulky a v některých pouze záznamy splňující určitá kritéria.
Tento případ se stává v momentě kdy je nutné k databázi přistupovat výhradně prostřednictvím uložených procedur což je vrstva 
která abstrahuje od uložení dat.
Proto je nutné specifikovat nepovinný INPUT parameter. @department_id INT = NULL

Příklad uložené procedury s nepovinným parametrem:

CREATE PROCEDURE [MyProc] 
@department_id INT = NULL
AS

 

SELECT * FROM person WHERE department_id = ISNULL(@department_id, department_id)

GO

Pokud parametr @department_id  = NULL -procedura vrátí všechny záznamy
Pokud ale nastavíte parametr na hodnotu @department_id = 1 získáte pouze záznamy splňující dané kritérium.
Další příklad který se ale špatně čte:
CREATE PROCEDURE [MyProc] 
@department_id INT = NULL
AS

 

SELECT * FROM  person
WHERE ( @department_id  IS NULL ) OR (@department_id  IS NOT NULL AND @department_id  = @department_id  )

GO

  Na stránku 
screen  Nový příspěvek
Název  Uživatel  Datum 
Poslední návštěva: 20:55:07, 22. září 2017 První  Předchozí  0 Záznamů  Další  Poslední  

Autor článku
Jméno
Pracovní pozice
Informace
Foto

   

Počet návštěvníků:77
 
  Kontakt