Bonjour à tous,
Je travaille sous Microsoft SQL Server Management Studio v17.3.
Je souhaiterai savoir comment créer des tables temporaires avec un nom en dynamique dans une procédure stockée elle-même temporaire ?
A savoir que je n'ai aucun accès de création en "dur" c'est pour cela que je dois passer seulement par du temporaire.
Voici un exemple de ce que j'aimerai faire en théorie, évidemment il ne fonctionne pas :-) :
Merci d'avance !! :-)
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 CREATE PROC #CreateAndGetTable ( @MyTable VARCHAR(50), @NewTable VARCHAR(50) ) AS BEGIN DECLARE @cmd VARCHAR(1000) SET @cmd = N'DECLARE @'+ @NewTable + ' table (columnName varchar(20))' /*Pour la création de table temporaire, j ai aussi essayé avec un CREATE TABLE #' + @NewTable + ' etc.....'*/ EXEC(@cmd) SET @cmd = 'SELECT TOP (1000) columnName INTO ' + @NewTable + ' FROM ' + @MyTable /*Aucun utilité bien sûr c'est pour l exemple d utilisation*/ EXEC(@cmd) SET @cmd = 'SELECT * FROM ' + @NewTable /*Un simple affichage de ce qui vient d être créé*/ EXEC(@cmd) END DECLARE @i INTEGER SET @i = 1 WHILE @i <= 115 BEGIN EXEC #CreateAndGetTable '[dbname].[dbo].[tableName]', CONCAT('New', @i) SET @i = @i + 1; CONTINUE END
Partager