[Edit]
Tellement concentrer sur mon problème que j'en oublie les bonnes manières...

Donc...

Bonjours messieurs, j'ai un petit problème dans un trigger
[/Edit]


Le trigger suivant plante en disant que le table Inserted n'existe pas.
Il s'agit d'un trigger pour loger / historiser dans une autre table.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
ALTER TRIGGER [dbo].[InsUpd_Histo]
   ON [dbo].[Grilles_actif]
   AFTER INSERT,UPDATE
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
 
    -- Insert statements for trigger here
 
 
        DECLARE @Val varchar(max)
        DECLARE @Name varchar(max)
        DECLARE InsUpd CURSOR FOR    (
                            SELECT Name
                            FROM sys.columns
                            where OBJECT_NAME(object_id)='Grilles_actif'
                        )
        OPEN InsUpd
        SET @Val=''
        FETCH NEXT FROM InsUpd INTO @Name
        WHILE @@FETCH_STATUS = 0
        BEGIN
            SET @Val=@Val+','+@Name
            FETCH NEXT FROM InsUpd INTO @Name
        END
        CLOSE InsUpd
        DEALLOCATE InsUpd
 
        SET @Val =  ' INSERT INTO Grilles'+
                    ' ('+SUBSTRING(@Val,2,len(@Val)-1)+')'+
                    ' SELECT '+SUBSTRING(@Val,2,len(@Val)-1) +
                    ' FROM inserted'
 
        EXEC(@Val)
 
END
* Merci *