[T-SQL] - ALTER COLUMN multiples

- ALTER COLUMN multiples [T-SQL] - SQL/NoSQL - Programmation

Marsh Posté le 07-10-2005 à 10:51:30    

Je travaille sous SQL Server 2000 et je dois modifier des types de données de colonnes sur des champs de plusieurs tables
 
Ce que je voudrais c'est, sur une instruction ALTER TABLE, faire plusieurs ALTER COLUMN d'un coup  
 
exemple qui helas ne marche pas, mais c pour montrer le principe de ce que je recherche :  
 
ALTER TABLE [dbo].[PDAExchange].[PDAMESSAGE]
{
 ALTER COLUMN [MESSAGEID]
 {  [nchar] (50) COLLATE French_CI_AS NULL  
 }  
 ALTER COLUMN [NATIVEMESSAGETEXT]
 {  [nchar] (500) COLLATE French_CI_AS NOT NULL  
 }
 ALTER COLUMN [TRANSLATEMESSAGETEXT]
 {  [nchar] (500) COLLATE French_CI_AS NOT NULL  
 }
 ALTER COLUMN [CREATIONDATE]
 {  [datetime] NOT NULL  
 }
 ALTER COLUMN [LASTMODIFICATIONDATE]
 {  [datetime] NOT NULL  
 }
}


Message édité par jokari34 le 07-10-2005 à 11:20:10
Reply

Marsh Posté le 07-10-2005 à 10:51:30   

Reply

Marsh Posté le 07-10-2005 à 12:09:39    

Pas possible :
 
http://www.experts-exchange.com/Da [...] 69783.html
 
Donc faut utiliser plusieurs ALTER TABLE ...

Reply

Marsh Posté le 07-10-2005 à 12:38:05    

ou faire une stored proc, en passant le nom du champ en parametre ?

Reply

Marsh Posté le 07-10-2005 à 12:38:55    

Ca reviendra au même, la proc devra faire un ALTER TABLE pour chaque champ.

Reply

Marsh Posté le 07-10-2005 à 12:44:06    

entretemps j'ai fait les choses a l'ancienne :
export des données de ma base en fichier .sql
modification des requetes a la main avec tenative de rechercher remplacer sur des motifs ASCII communs aux lignes d'ALTER COLUMN
 
bon du coup en mettant un ALTER TABLE... ALTER COLUMN pour chaque modif de colonne ca marche, mais j'aurais préféré une maniere automatique.

Reply

Marsh Posté le 07-10-2005 à 12:45:27    

merci pour le lien mais fo s'inscrire sur le site pour voir la solution
m'inscrire juste pour voir un article...g helas pas trop le temps pour ca

Reply

Marsh Posté le 07-10-2005 à 12:46:23    

y a pas de solution, les commentaires sont en bas de la page.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed