OVH Cloud OVH Cloud

Nom de table variable

2 réponses
Avatar
newscache3.freenet.de
Je voudrais écrire une procédure qui crée une table et en renvoie le
contenu, mais le nom de cette table doit être variable (NomTableAAAAMMJJ)

Cette table n'est pas temporaire.

Je peux bien sur créer l'ordre SQL (Create Table) dans l'application mais je
souhaiterais le faire au niveau du serveur.

Est-ce possible ?

Merci de votre aide

Gilbert

2 réponses

Avatar
Gilles
Fonction "exec" je pense
dans une procédure stockée !!

Gilles
Avatar
jgabillaud
il faut utiliser la procédure sp_executesql pour construire dynamiquement la
requete SQL. Ci dessous un exemple:
create procedure ptest @vnom varchar(30) as
declare @sqlCreate NVARCHAR(500)
declare @parametre NVARCHAR(200)
begin
set @sqlCreate=N'create table '+@vnom+' (C1 int)'

execute sp_executesql @sqlCreate
end
go
exec ptest 'tEssai'
go
sp_help tEssai


"newscache3.freenet.de" a écrit :

Je voudrais écrire une procédure qui crée une table et en renvoie le
contenu, mais le nom de cette table doit être variable (NomTableAAAAMMJJ)

Cette table n'est pas temporaire.

Je peux bien sur créer l'ordre SQL (Create Table) dans l'application mais je
souhaiterais le faire au niveau du serveur.

Est-ce possible ?

Merci de votre aide

Gilbert