Bonjour,
Je veux pouvoir créer une séquence dynamiquement dans une procédure stockée en sql server 2012. Mon problème c'est que le nom de la séquence est égale au nom d'une colonne.
Ci-dessous la requête que j'utilise et le message d'erreur reçu dès exécution d'une insertion.


Procédure stockée
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
 
 
CREATE TRIGGER [dbo].[Numero] 
   ON  [dbo].[Table1] 
   AFTER INSERT
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  @NomColonne1Table1 varchar(60), @VarSequence Varchar(100)
	SET @NomColonne1Table1 = (SELECT I.Nom FROM inserted I )	
	SET @VarSequence = 'CREATE SEQUENCE [dbo].[' + @NomColonne1Table1 + ']  START WITH 0  INCREMENT BY 1  NO CACHE'
	EXECUTE @varSequence
END
J'ai fait cet trigger et lorsque je fais une insertion:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO [dbo].[Table1]  (Nom) Values ('Toece')
je reçois ce message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Msg*203, Niveau*16, État*2, Procédure*Numero, Ligne*23
Le nom 'CREATE SEQUENCE [dbo].[Toece]  START WITH 0  INCREMENT BY 1  NO CACHE' n'est pas un identificateur valide.


Comment procéder?