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
|
CREATE FUNCTION [dbo].[ACFY_GetCurseurTextFunction]
(
)
RETURNS varchar (8000)
AS
BEGIN
-- Déclaration du curseur
DECLARE K CURSOR FOR
SELECT adhnom, adhnum, ouvnum, ouvtit
FROM adherents, emprunts, ouvrages
WHERE adhnum = eadhnum
AND ouvnum = eouvnum
ORDER BY adhnum
-- Déclaration des variables et de la table temporaire
DECLARE @ChaineHTML varchar (8000)
DECLARE @adhnom nvarchar (200)
DECLARE @adhnum int
DECLARE @adhnum2 int
DECLARE @ouvnum int
DECLARE @ouvtit nvarchar (200)
OPEN K
--Lecture du premier enregistrement
FETCH K
INTO @adhnom, @adhnum, @ouvnum, @ouvtit
-- Boucle de traitement
WHILE (@@FETCH_STATUS = 0)
BEGIN
IF @ChaineHTML IS NULL
BEGIN
SET @ChaineHTML = CONVERT(varchar (8000),''+@adhnom+' : <BR>'+@ouvtit+'')
SET @adhnum2 = @adhnum
END
ELSE
BEGIN
IF @adhnum = @adhnum2
BEGIN
SET @ChaineHTML = CONVERT(varchar (8000),''+@ChaineHTML+'<BR>'+@ouvtit+'')
END
ELSE
BEGIN
SET @ChaineHTML = CONVERT(varchar (8000),''+@ChaineHTML+'<BR>'+@adhnom+'<BR>'+@ouvtit+'')
SET @adhnum2 = @adhnum
END
END
-- Lecture de l'enregistrement suivant
FETCH K
INTO @adhnom, @adhnum, @ouvnum, @ouvtit
END
-- Fermeture du curseur
CLOSE K
DEALLOCATE K
RETURN @ChaineHTML
END |
Partager