Nous aimerions ajouter des colonnes =E0 une table. Le nombre=20
de colonnes doit etre =E9gal au nombre max d' 1 colonne de=20
la table. Et le nom des colonnes doit etre comme suit:
DAS1, DAS2, ...., DASMax
Nous avons cr=E9e une proc=E9dure pour r=E9cup=E9rer le nombre de=20
colonnes =E0 cr=E9er:
DECLARE @nbmax INT
EXEC Max_das @nbmax OUTPUT
PRINT @nbmax
CREATE PROC Max_das
(@nbmax INT OUTPUT)
AS
BEGIN
SET @nbmax =3D (SELECT MAX(nbdas) FROM RSA_1_2002)
END
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice Scribe
Quelque chose :
SET @compteur=1 WHILE @compteur<=@nbmax BEGIN @sql="ALTER TABLE MaTable ADD COLUMN " etc... EXECUTE(@sql) SET @compteur=compteur+1 END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE pour voir le script généré
Ceci dit as tu envisagé de créer plutôt une table secondaire qui stockerait pour une pk donné et un "n° de champ" donné, la valeur correspondante ??
Patrice
--
"IUT STID" a écrit dans le message de news:af8301c3ecae$dd392400$ Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre de colonnes doit etre égal au nombre max d' 1 colonne de la table. Et le nom des colonnes doit etre comme suit: DAS1, DAS2, ...., DASMax Nous avons crée une procédure pour récupérer le nombre de colonnes à créer:
DECLARE @nbmax INT EXEC Max_das @nbmax OUTPUT PRINT @nbmax
CREATE PROC Max_das (@nbmax INT OUTPUT) AS BEGIN SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002) END
Comment faire la suite ?
Quelque chose :
SET @compteur=1
WHILE @compteur<=@nbmax BEGIN
@sql="ALTER TABLE MaTable ADD COLUMN " etc...
EXECUTE(@sql)
SET @compteur=compteur+1
END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE pour voir le script
généré
Ceci dit as tu envisagé de créer plutôt une table secondaire qui stockerait
pour une pk donné et un "n° de champ" donné, la valeur correspondante ??
Patrice
--
"IUT STID" <vanlow@voila.fr> a écrit dans le message de
news:af8301c3ecae$dd392400$a101280a@phx.gbl...
Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre
de colonnes doit etre égal au nombre max d' 1 colonne de
la table. Et le nom des colonnes doit etre comme suit:
DAS1, DAS2, ...., DASMax
Nous avons crée une procédure pour récupérer le nombre de
colonnes à créer:
DECLARE @nbmax INT
EXEC Max_das @nbmax OUTPUT
PRINT @nbmax
CREATE PROC Max_das
(@nbmax INT OUTPUT)
AS
BEGIN
SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002)
END
SET @compteur=1 WHILE @compteur<=@nbmax BEGIN @sql="ALTER TABLE MaTable ADD COLUMN " etc... EXECUTE(@sql) SET @compteur=compteur+1 END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE pour voir le script généré
Ceci dit as tu envisagé de créer plutôt une table secondaire qui stockerait pour une pk donné et un "n° de champ" donné, la valeur correspondante ??
Patrice
--
"IUT STID" a écrit dans le message de news:af8301c3ecae$dd392400$ Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre de colonnes doit etre égal au nombre max d' 1 colonne de la table. Et le nom des colonnes doit etre comme suit: DAS1, DAS2, ...., DASMax Nous avons crée une procédure pour récupérer le nombre de colonnes à créer:
DECLARE @nbmax INT EXEC Max_das @nbmax OUTPUT PRINT @nbmax
CREATE PROC Max_das (@nbmax INT OUTPUT) AS BEGIN SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002) END
Comment faire la suite ?
IUT STID
Merci pour ce code. Mais nous voulons des noms de colonne égaus a DAs1, DAS2, DAS3 jusqua la fin du compteur On a essayé ADD DAS+@compteur mais ca ne marche pas.
-----Message d'origine----- Quelque chose :
SET @compteur=1 WHILE @compteur<=@nbmax BEGIN @sql="ALTER TABLE MaTable ADD COLUMN " etc... EXECUTE(@sql) SET @compteur=compteur+1 END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE
pour voir le script
généré
Ceci dit as tu envisagé de créer plutôt une table
secondaire qui stockerait
pour une pk donné et un "n° de champ" donné, la valeur
correspondante ??
Patrice
--
"IUT STID" a écrit dans le message de news:af8301c3ecae$dd392400$ Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre de colonnes doit etre égal au nombre max d' 1 colonne de la table. Et le nom des colonnes doit etre comme suit: DAS1, DAS2, ...., DASMax Nous avons crée une procédure pour récupérer le nombre de colonnes à créer:
DECLARE @nbmax INT EXEC Max_das @nbmax OUTPUT PRINT @nbmax
CREATE PROC Max_das (@nbmax INT OUTPUT) AS BEGIN SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002) END
Comment faire la suite ?
.
Merci pour ce code.
Mais nous voulons des noms de colonne égaus a DAs1, DAS2,
DAS3 jusqua la fin du compteur
On a essayé ADD DAS+@compteur mais ca ne marche pas.
-----Message d'origine-----
Quelque chose :
SET @compteur=1
WHILE @compteur<=@nbmax BEGIN
@sql="ALTER TABLE MaTable ADD COLUMN " etc...
EXECUTE(@sql)
SET @compteur=compteur+1
END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE
pour voir le script
généré
Ceci dit as tu envisagé de créer plutôt une table
secondaire qui stockerait
pour une pk donné et un "n° de champ" donné, la valeur
correspondante ??
Patrice
--
"IUT STID" <vanlow@voila.fr> a écrit dans le message de
news:af8301c3ecae$dd392400$a101280a@phx.gbl...
Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre
de colonnes doit etre égal au nombre max d' 1 colonne de
la table. Et le nom des colonnes doit etre comme suit:
DAS1, DAS2, ...., DASMax
Nous avons crée une procédure pour récupérer le nombre de
colonnes à créer:
DECLARE @nbmax INT
EXEC Max_das @nbmax OUTPUT
PRINT @nbmax
CREATE PROC Max_das
(@nbmax INT OUTPUT)
AS
BEGIN
SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002)
END
Merci pour ce code. Mais nous voulons des noms de colonne égaus a DAs1, DAS2, DAS3 jusqua la fin du compteur On a essayé ADD DAS+@compteur mais ca ne marche pas.
-----Message d'origine----- Quelque chose :
SET @compteur=1 WHILE @compteur<=@nbmax BEGIN @sql="ALTER TABLE MaTable ADD COLUMN " etc... EXECUTE(@sql) SET @compteur=compteur+1 END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE
pour voir le script
généré
Ceci dit as tu envisagé de créer plutôt une table
secondaire qui stockerait
pour une pk donné et un "n° de champ" donné, la valeur
correspondante ??
Patrice
--
"IUT STID" a écrit dans le message de news:af8301c3ecae$dd392400$ Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre de colonnes doit etre égal au nombre max d' 1 colonne de la table. Et le nom des colonnes doit etre comme suit: DAS1, DAS2, ...., DASMax Nous avons crée une procédure pour récupérer le nombre de colonnes à créer:
DECLARE @nbmax INT EXEC Max_das @nbmax OUTPUT PRINT @nbmax
CREATE PROC Max_das (@nbmax INT OUTPUT) AS BEGIN SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002) END
Comment faire la suite ?
.
Vuillermet Jacques
>Mais nous voulons des noms de colonne égaus a DAs1, DAS2, DAS3 jusqua la
fin du compteur
Ce que te dit Patrice, c'est que ce genre de structure est en général le signe d'une conception insuffisament poussée de la structure de la base de données... qui tôt ou tard se "paiera" en terme de maintenance, de temps de développement ou de performances.
A moins d'un cas très particulier (?).
Jacques.
"IUT STID" a écrit dans le message de news: be2401c3ecc2$1dc02c90$ Merci pour ce code. Mais nous voulons des noms de colonne égaus a DAs1, DAS2, DAS3 jusqua la fin du compteur On a essayé ADD DAS+@compteur mais ca ne marche pas.
-----Message d'origine----- Quelque chose :
SET @compteur=1 WHILE @compteur<=@nbmax BEGIN @sql="ALTER TABLE MaTable ADD COLUMN " etc... EXECUTE(@sql) SET @compteur=compteur+1 END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE
pour voir le script
généré
Ceci dit as tu envisagé de créer plutôt une table
secondaire qui stockerait
pour une pk donné et un "n° de champ" donné, la valeur
correspondante ??
Patrice
--
"IUT STID" a écrit dans le message de news:af8301c3ecae$dd392400$ Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre de colonnes doit etre égal au nombre max d' 1 colonne de la table. Et le nom des colonnes doit etre comme suit: DAS1, DAS2, ...., DASMax Nous avons crée une procédure pour récupérer le nombre de colonnes à créer:
DECLARE @nbmax INT EXEC Max_das @nbmax OUTPUT PRINT @nbmax
CREATE PROC Max_das (@nbmax INT OUTPUT) AS BEGIN SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002) END
Comment faire la suite ?
.
>Mais nous voulons des noms de colonne égaus a DAs1, DAS2, DAS3 jusqua la
fin du compteur
Ce que te dit Patrice, c'est que ce genre de structure est en général le
signe d'une conception insuffisament poussée de la structure de la base de
données... qui tôt ou tard se "paiera" en terme de maintenance, de temps de
développement ou de performances.
A moins d'un cas très particulier (?).
Jacques.
"IUT STID" <vanlow@voila.fr> a écrit dans le message de news:
be2401c3ecc2$1dc02c90$a501280a@phx.gbl...
Merci pour ce code.
Mais nous voulons des noms de colonne égaus a DAs1, DAS2,
DAS3 jusqua la fin du compteur
On a essayé ADD DAS+@compteur mais ca ne marche pas.
-----Message d'origine-----
Quelque chose :
SET @compteur=1
WHILE @compteur<=@nbmax BEGIN
@sql="ALTER TABLE MaTable ADD COLUMN " etc...
EXECUTE(@sql)
SET @compteur=compteur+1
END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE
pour voir le script
généré
Ceci dit as tu envisagé de créer plutôt une table
secondaire qui stockerait
pour une pk donné et un "n° de champ" donné, la valeur
correspondante ??
Patrice
--
"IUT STID" <vanlow@voila.fr> a écrit dans le message de
news:af8301c3ecae$dd392400$a101280a@phx.gbl...
Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre
de colonnes doit etre égal au nombre max d' 1 colonne de
la table. Et le nom des colonnes doit etre comme suit:
DAS1, DAS2, ...., DASMax
Nous avons crée une procédure pour récupérer le nombre de
colonnes à créer:
DECLARE @nbmax INT
EXEC Max_das @nbmax OUTPUT
PRINT @nbmax
CREATE PROC Max_das
(@nbmax INT OUTPUT)
AS
BEGIN
SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002)
END
>Mais nous voulons des noms de colonne égaus a DAs1, DAS2, DAS3 jusqua la
fin du compteur
Ce que te dit Patrice, c'est que ce genre de structure est en général le signe d'une conception insuffisament poussée de la structure de la base de données... qui tôt ou tard se "paiera" en terme de maintenance, de temps de développement ou de performances.
A moins d'un cas très particulier (?).
Jacques.
"IUT STID" a écrit dans le message de news: be2401c3ecc2$1dc02c90$ Merci pour ce code. Mais nous voulons des noms de colonne égaus a DAs1, DAS2, DAS3 jusqua la fin du compteur On a essayé ADD DAS+@compteur mais ca ne marche pas.
-----Message d'origine----- Quelque chose :
SET @compteur=1 WHILE @compteur<=@nbmax BEGIN @sql="ALTER TABLE MaTable ADD COLUMN " etc... EXECUTE(@sql) SET @compteur=compteur+1 END
Tu peux commencer par un "PRINT" au lieu d'un EXECUTE
pour voir le script
généré
Ceci dit as tu envisagé de créer plutôt une table
secondaire qui stockerait
pour une pk donné et un "n° de champ" donné, la valeur
correspondante ??
Patrice
--
"IUT STID" a écrit dans le message de news:af8301c3ecae$dd392400$ Bonjour
Nous aimerions ajouter des colonnes à une table. Le nombre de colonnes doit etre égal au nombre max d' 1 colonne de la table. Et le nom des colonnes doit etre comme suit: DAS1, DAS2, ...., DASMax Nous avons crée une procédure pour récupérer le nombre de colonnes à créer:
DECLARE @nbmax INT EXEC Max_das @nbmax OUTPUT PRINT @nbmax
CREATE PROC Max_das (@nbmax INT OUTPUT) AS BEGIN SET @nbmax = (SELECT MAX(nbdas) FROM RSA_1_2002) END