Précédent   Forum du club des développeurs et IT Pro > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 31/05/2011, 12h24   #1
virkof
Invité de passage
 
Homme
Consultant informatique
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
Par défaut Default value datetime

Bonjour,

Je suis sur Sysbase 11/12/15 - TDS 5.5 et j'aimerais modifier une table en y ajoutant une colonne non null de type datetime, mais ca passe pas.
La requête est la suivante:

Code :
1
2
ALTER TABLE MA_TABLE
  ADD DATE_DERNIERE_MODIF  datetime DEFAULT getdate() NOT NULL
Erreur:
Citation:
>[Error] Script lines: 1-2 --------------------------
ALTER TABLE 'MA_TABLE' failed. Default cannot be an expression when adding non-NULL column 'DATE_DERNIERE_MODIF'. Use a default value instead.
Je vois bien qu'il ne veut pas de fonction, je ne veux pas mettre de date fixe car c'est un script que je vais lance dans d'autre environnement et j'aimerais juste avoir la date du jour le jour de l'exécution du script.
J'ai essayé CURRENT DATE, CURRENT TIMESTAMP

Merci d'avance pour votre aide
virkof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 20h34   #2
kagemaru
Membre Expert
 
Inscription : juin 2007
Messages : 1 056
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 056
Points : 1 082
Points : 1 082
Bonjour,

Pourquoi ne pas mettre la colonne à NULL avec la valeur par défaut getdate() et mettre à jour les lignes qui n'ont pas de date manuellement une bonne fois pour toutes ?

Code :
1
2
ALTER TABLE MA_TABLE
ADD DATE_DERNIERE_MODIF datetime DEFAULT getdate() NULL
A chaque insertion, la date du jour sera mise dans la colonne. Par contre il est possible de forcer la colonne à NULL c'est sûr.

Sinon, tu peux toujours créer une table dans la structure qui te convient et de transférer les lignes avec un insert/select ou un select into, puis de renommer les tables.
__________________
Emmanuel T.
kagemaru est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/06/2011, 15h09   #3
virkof
Invité de passage
 
Homme
Consultant informatique
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
Par défaut Pb Résolu

Salut kagemaru,
J'ai fait comme t'as dit avec la colonne à NULL et ça marche nickel.
Merci
virkof est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h25.


 
 
 
 
Partenaires

Hébergement Web