1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
GO
/*
DESCRIPTION
Récupère la liste des utilisateurs d'une recherche
PARAMETRES en Entrée:
- @LastName le nom de famille de l'utilisateur.
- @FirstName le prénom de l'utilisateur.
- @Structure la structure à laquelle appartient l'utilisateur.
- @Academy l'académie de l'utilisateur.
*/
ALTER PROCEDURE SPR_List_Search_Users
@LastName nvarchar(50),
@FirstName nvarchar(50),
@Structure nvarchar(50),
@Academy nvarchar(50)
AS
BEGIN
DECLARE
@Select nvarchar(100),
@From nvarchar(20),
@Where nvarchar(max),
@Param nvarchar(max),
@ParamNom nvarchar(50),
@ParamPrenom nvarchar(50),
@ParamStructure nvarchar(50),
@ParamAcademy nvarchar(50),
@cmd nvarchar(max)
SET @ParamNom = ''
SET @ParamPrenom = ''
SET @ParamStructure = ''
SET @ParamAcademy = ''
SET @Select = 'SELECT
UserId ,
Nom ,
Prenom ,
Email '
-- TODO : rajouter la colonne structure
--,Structure 'Structure'
print 'SELECT = ' + @Select
SET @From = ' FROM
dbo.Users '
print 'FROM = ' + @From
--Condition toujours vraie
--nécessaire pour l'ajout des autres conditions
SET @Where = ' WHERE 1=1 '
print 'WHERE 1 = ' +@Where
IF @LastName is not null
BEGIN
SET @Where = @Where + ' AND Nom = @LastName '
print 'WHERE NOM = ' + @Where
SET @ParamNom = 'SET @LastName = ' + @LastName + ' '
print 'NOM = ' + @ParamNom
END
IF @FirstName is not null
BEGIN
SET @Where = @Where + ' AND Prenom = @FirstName '
print 'WHERE PRENOM = ' + @Where
SET @ParamPrenom = 'SET @FirstName = ' + @FirstName + ' '
print 'PRENOM = ' + @ParamPrenom
END
--TODO : prendre en compte les 2 colonnes à rajouter dans la table
--IF @Structure <> null
--BEGIN
-- SET @Where = @Where + ' AND Structure = @Structure '
-- print 'WHERE STRUCTURE = ' + @Where
-- SET @ParamStructure = 'SET @ParamStructure = ' + N'@Structure' + ' '
-- print 'STRUCTURE = ' + @ParamStructure
--END
--IF @Academy <> null
--BEGIN
-- SET @Where = @Where + ' AND Academy = @Academy '
-- print 'WHERE ACADEMY = ' + @Where
-- SET @ParamAcademy = 'SET @ParamAcademy = ' + N'@Academy' + ' '
-- print 'ACADEMY = ' + @ParamAcademy
--END
SET @Param = ' DECLARE @LastName nvarchar(50),
@FirstName nvarchar(50),
@Structure nvarchar(50),
@Academy nvarchar(50) '
print 'PARAM = ' + @Param
--' @LastName = ' + @LastName + ' ,@FirstName = ' + @FirstName + ' ,@Structure = ' + @Structure + ',@Academy = ' + @Academy
SET @Param = @Param + @ParamNom + @ParamPrenom + @ParamStructure + @ParamAcademy
print 'PARAM FIN = ' + @Param
SET @cmd = @Param +@Select + @From + @Where
print 'CMD = ' + @cmd
exec @cmd
END
GO |
Partager