OVH Cloud OVH Cloud

Creation dynamique de champs

2 réponses
Avatar
Cédric SICARD
Bnjour, je souhaiterais créer dynamiquement via un trigger certianement des
champs dans une table.

J'ai essaye le script suivant mais je me prends une erreur.
Est ce que qqu'un sait si c'est possible et si oui comment faire ????

DECLARE @x VARCHAR(255)
set @x ='TEST'
ALTER TABLE dbo.Table1 ADD
@x varchar(255) NULL
GO

2 réponses

Avatar
Patrice
EXECUTE("ALTER TABLE dbo.Table1 ADD "+ @x +" VARCHAR(255) NOT NULL")
pour exécuter du SQL dynamique.

Par curiosité que cherche tu à faire (le principe me parait un peu "osé",
notamment ce code ne sera exécuté qu'une fois et sera inutile une fois la
colonné déjà créée dans la table)...

Patrice

--

"Cédric SICARD" a écrit dans le message de
news:
Bnjour, je souhaiterais créer dynamiquement via un trigger certianement


des
champs dans une table.

J'ai essaye le script suivant mais je me prends une erreur.
Est ce que qqu'un sait si c'est possible et si oui comment faire ????

DECLARE @x VARCHAR(255)
set @x ='TEST'
ALTER TABLE dbo.Table1 ADD
@x varchar(255) NULL
GO




Avatar
Cédric SICARD
merci ca marche. J'ai presque honte de ne pas avoir pense tout seul a la
commande execute.

En fait j'ai une table qui represente mes objets à stockés avec leurs
proprietes (Table1). Chaque type d'objet se stocke dans des tables
differentes (Table2, Table3 etc..)
chaque propriete est representée par un champs dans les fameuses Table2,
Table3.
Donc qd je rajoute une propriete je veux que le nouveau champs se cree
automatiquement. Tu viens de me donner la solution et je t'en remercie.


"Patrice" a écrit dans le message de news:

EXECUTE("ALTER TABLE dbo.Table1 ADD "+ @x +" VARCHAR(255) NOT NULL")
pour exécuter du SQL dynamique.

Par curiosité que cherche tu à faire (le principe me parait un peu "osé",
notamment ce code ne sera exécuté qu'une fois et sera inutile une fois la
colonné déjà créée dans la table)...

Patrice

--

"Cédric SICARD" a écrit dans le message de
news:
Bnjour, je souhaiterais créer dynamiquement via un trigger certianement


des
champs dans une table.

J'ai essaye le script suivant mais je me prends une erreur.
Est ce que qqu'un sait si c'est possible et si oui comment faire ????

DECLARE @x VARCHAR(255)
set @x ='TEST'
ALTER TABLE dbo.Table1 ADD
@x varchar(255) NULL
GO