Bonjour,
J'utilise une procedure qui fonctionne, dont voici le code
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 CREATE PROCEDURE [dbo].[pkCreateVueTEST] @datelecture varchar(20) AS BEGIN SET NOCOUNT ON; SET DATEFORMAT DMY; --Supprime avant création IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[MAVUE]')) DROP VIEW [dbo].[MAVUE] exec('create view [dbo].[MAVUE] as select id, nom, datetest from MATABLE where datetest >= ''' + @datelecture + ''' ; '); END GO
Mais je voudrais rendre le nom de la vue dynamique en utilisant le nom du poste :
Le drop view sur le nom de table, tel que je l'écris ne passe pas à la compilation.
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 CREATE PROCEDURE [dbo].[pkCreateVueTEST] @datelecture varchar(20) AS BEGIN SET NOCOUNT ON; SET DATEFORMAT DMY; DECLARE @TEST as varchar(128); SET @TEST='[dbo].[MAVUE]'+(SELECT host_name()); --Supprime avant création IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(@TEST)) DROP VIEW @TEST exec('create view ' + @TEST + ' as select id, nom, datetest from MATABLE where datetest >= ''' + @datelecture + ''' ; '); END GO
Pouvez-vous m'aider sur ce point ?
Merci
Partager