Problème sur une procédure pivot + création de table
Bonjour,
J'aurais besoin d'un peu d'aide car j'ai un petit soucis sur une procédure.
je créer une procédure qui fait un pivot sur une view et je voudrais transférer le résultat dans une table que je crée en dynamique.
ma procédure bug au niveau du select qui injecte dans la table crée.
l'erreur doit être bête mais je bloque.
Code:
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
|
USE [GMAO]
GO
/****** Object: StoredProcedure [dbo].[Eta_Amdec] Script Date: 10/13/2014 22:30:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
DECLARE @cols AS NVARCHAR(MAX);
DECLARE @cols1 AS NVARCHAR(MAX);
DECLARE @query AS NVARCHAR(MAX);
select @cols = STUFF((SELECT distinct ',' +
QUOTENAME(Type_Intervention )
FROM View_Analyse_taux_20
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
, 1, 1, '');
select @cols1 = STUFF((SELECT distinct ',' +
QUOTENAME(Type_Intervention )+'NVARCHAR(max)'
FROM View_Analyse_taux_20
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
, 1, 1, ' ');
DECLARE @SQLTable NVARCHAR(Max) = 'CREATE TABLE [Pivot]( Date datetime ,' +
@cols1+ ' )';
IF OBJECT_ID('Pivot') IS NOT NULL
DROP TABLE [Pivot];
execute(@SQLTable);
SELECT @query = 'INSERT INTO [GMAO].[dbo].[Pivot]( Date ,' +
@cols+ ' ) values (
SELECT * FROM dbo. View_Analyse_taux_20
pivot
( Max(NB_Intervention) FOR Type_Intervention IN(' + @cols + ')) AS p'
print @query;
execute(@query);
go |
Si quelqu'un peux m'aider j'en serais ravis.
Merci d'avance.