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
| CREATE PROCEDURE RecupeListe
@NOM_TABLE VARCHAR(128),
@ID int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @MA_REQUETE VARCHAR(8000)
PRINT @ID
WHILE @ID != NULL
BEGIN
SET @MA_REQUETE = 'Select COLID from ' + @NOM_TABLE + ' where GENE = ' + CONVERT(VARCHAR(50),@ID)
PRINT @MA_REQUETE
DECLARE @TbID TABLE
(
ID INT
)
-- Récupère le résultat de la requête dans @TbID
INSERT INTO @TbID
EXEC (@MA_REQUETE)
-- Si la colonne COLID de la table @NOM_TABLE contient des NULL
IF EXISTS
(
SELECT *
FROM @TbID
WHERE ID IS NULL
)
BREAK;
-- Liste les valeurs contenues dans la table @TbID (<=> COLID de la table @NOM_TABLE)
DECLARE @szMsg VARCHAR(256)
SELECT @szMsg = ISNULL(@szMsg, '') + CAST(ISNULL(ID, '<NULL>') AS VARCHAR) + ','
FROM @TbID
PRINT @szMsg
END
END |
Partager