CREATE FUNCTION GetPayCodeList
(
-- Add the parameters for the function here
@PC varchar(50)
)
RETURNS TABLE
AS
RETURN
( IF @PC = '*'
SELECT DISTINCT ID, Code, Description
FROM tbl
ELSE
SELECT DISTINCT ID, Code, Description
FROM tbl
WHERE Code = @PC
)
Répondre
Est-ce que certaines de ces colonnes sont caractérisées et DISTINCT?
Comme une note de côté, vous pouvez réécrire comme cela pour le rendre plus simple:
SELECT DISTINCT ID, Code, Description
FROM tbl
WHERE @PC = '*' OR Code = @PC
Essayez ceci:
CREATE FUNCTION GetPayCodeList( -- Add the parameters for the function here
@PC varchar(50))
RETURNS @tbl TABLE (
ID int
, Code varchar(50)
, Description varchar(max))
WITH SCHEMABINDING
AS
BEGIN
IF @PC = '*'
SELECT DISTINCT ID, Code, Description
FROM tbl
ELSE
SELECT DISTINCT ID, Code, Description
FROM tbl
WHERE Code = @PC
END
Attention, ce qui en limite liées au schéma de votre capacité à changer les tables sous-jacentes après la création de la fonction. –
@Adam: d'autre part * pas * le marquer schemaboudn le fera effectuer lamentablement: http://blogs.msdn.com/sqlprogrammability/archive/2006/05/12/596424.aspx –
Vous devrez écrire une fonction multi-étapes, vous ne pouvez pas faites-le une fonction en ligne .
CREATE FUNCTION GetPayCodeList
(
-- Add the parameters for the function here
@PC varchar(50)
)
RETURNS @table TABLE (ID int NOT NULL,
... //others fields) AS
BEGIN
IF @PC = '*'
INSERT @table (SELECT DISTINCT ID, Code, Description
FROM tbl) FROM tbl
ELSE
INSERT @table (SELECT DISTINCT ID, Code, Description
FROM tbl
WHERE Code = @PC) FROM tbl
RETURN @table
END
- 1. Quel est le problème avec ce code?
- 2. Quel est le problème dans ce code?
- 3. Quel est le problème avec ce code SAS?
- 4. quel est le problème avec ce code de condition C#
- 5. Quel est le problème avec ce code C++?
- 6. Python Eval: Quel est le problème avec ce code?
- 7. Quel est le problème avec mon code X11?
- 8. Quel est le problème avec ce code Python?
- 9. Quel est le problème avec ce clone()?
- 10. Quel est le problème avec cet algorithme?
- 11. Quel est le problème avec cette fonction?
- 12. Quel est le problème avec singleton?
- 13. Quel est le problème avec ce curseur
- 14. Quel est le problème avec cet itinéraire?
- 15. Quel est le problème avec mon sitemap?
- 16. Quel est le problème avec l'instruction suivante?
- 17. Quel est le problème avec cette classe?
- 18. Quel est le problème avec le script JIRA Jelly + Soap?
- 19. Quel est le problème avec cette erreur 403 rediriger
- 20. Quel est le problème avec mon itinéraire Zend Framework?
- 21. Quel est le problème avec mon encodage d'URL?
- 22. Quel est le problème avec cette utilisation de Predicate/CreateDelegate?
- 23. Quel est le problème avec mon dessin Checkbox?
- 24. Quel est le problème avec la liaison de beans
- 25. Quel est le problème avec cette implémentation "StretchKey"?
- 26. Quel est le problème avec cet algorithme de remplissage?
- 27. Quel est le problème avec mes dépendances de fichiers?
- 28. Quel est le code clé du signe%?
- 29. Quel est le problème avec cette fonction redimensionnable jquery?
- 30. Quel est le problème avec mes boucles imbriquées en Python?
Sauf, passez @pc comme nulle quand vous voulez toutes les lignes, et utiliser ce prédicat: « Où (@PC isnull ou code = @PC) » – tpdi