Le forum (ô combien francophone) des utilisateurs de Powerbuilder.




Bonjour,
je voudrais faire un Alter Table dans une procédure stockée mais le compilateur m'indique ceci :
The procedure 'sp_migration_credit' contains an ALTER TABLE statement requiring data copy. This should be the only statement in the procedure.
voici mon code :
alter table Pat_Garant add Moyen_Paiement_CD_Princ integer null
merci
Hors ligne














Bonjour, quel est ton SGBDR ?
Pourquoi faire un alter table dans une procédure ?
En principe tu n'auras à le faire qu'une fois...
manipuler du DDL dans une SP est toujours sujet à caution car lors de la
compilation de la SP le moteur SQL à besoin de connaître la structure des objets
en jeu.
Hors ligne




En fait, j'ai une application a déployer lundi, j'ai des modifications à faire sur la base, au lieu de les faire un par un, je voulais faire une procédure stockée enchainant toutes les modifications. J'ai des créations de table, des modifications et des ajouts.
Avec une procédure ça m'aurait pris 10 secondes à faire toutes les modifications.
Hors ligne














compile le tout dans un fichier sql
ensuite t'as plus qu'à l'exécuter... (via sqlplus, dbisql, ... selon ta base)
Hors ligne




En fait, j'ai trouvé ça :
exec ('alter table Pat_Credit add Date_Accord smalldatetime null')
Hors ligne











Pour ORACLE, il y a "EXECUTE IMMEDIATE" qui permet de lancer des ordres SQL en dynamique
Hors ligne