Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/12/2010, 10h21   #1
Invité régulier
 
titeuf
Étudiant
Inscription : novembre 2009
Messages : 63
Détails du profil
Informations personnelles :
Nom : titeuf

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2009
Messages : 63
Points : 6
Points : 6
Par défaut Problème sur requête sql

bonjour,

Je bloque sur une requête SQL qui semble être très simple


Code :
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE MEMBER ( member_id number (10)
,last_name varchar2 (25)
,first_name varchar2(25)
,address varchar2(100)
,city varchar2(30)
,phone varchar2(15)
,join_DAte  date 
,constraint pk PRIMARY KEY (member_id)
,constraint uni UNIQUE (member_id)
,constraint nn NOT NULL (member_id)
,constraint nn_na NOT NULL (last_name)
,constraint nn_da NOT NULL (join_DAte) );
je veux mettre dans la colonne (join_date) une Valeur par défaut (date system) , je sais que la date de system est: sysdate mais pour la mettre dans la requête je sais pas
merci d'avance
titeufdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2010, 10h59   #2
Membre Expert
 
Homme
Responsable de service informatique
Inscription : janvier 2009
Messages : 1 081
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Boutique - Magasin

Informations forums :
Inscription : janvier 2009
Messages : 1 081
Points : 1 875
Points : 1 875
Bonjour,
Dans la définition de la colonne en question, il faut ajouter DEFAULT SYSDATE après le type de données:
Code sql :
1
2
3
4
 
...
join_DAte date DEFAULT SYSDATE
...

Tatayo.
tatayo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2010, 16h39   #3
Invité régulier
 
titeuf
Étudiant
Inscription : novembre 2009
Messages : 63
Détails du profil
Informations personnelles :
Nom : titeuf

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2009
Messages : 63
Points : 6
Points : 6
salut tatayo
j'ai mis default sysdate dans la requête mais sql plus m'affiche ce message :identificateur non valide

voila la requête avec sysdate:

Code :
1
2
3
4
5
6
7
8
9
 CREATE TABLE MEMBER ( member_id number (10) NOT NULL
,last_name varchar2 (25) NOT NULL
,first_name varchar2(25)
,address varchar2(100)
,city varchar2(30)
,phone varchar2(15)
, join_DAte  date   DEFAULT sysdate 
,constraint pk PRIMARY KEY (member_id)
,constraint nn_d NOT NULL (join_DAte));
merci quand même pour ta réponse ^__^
titeufdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2010, 19h39   #4
Membre habitué
 
Avatar de bobmidou
 
Inscription : avril 2008
Messages : 116
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 116
Points : 128
Points : 128
Salut

Essaye d'enlever la dernière contrainte
Code :
1
2
 
constraint nn_d NOT NULL (join_DAte)
Si tu fais un insert into ... tu auras la date du jour et si tu insères les données par le designer tu auras null dans le champ join_Date.

Bonne chance
__________________
--<< Il n y a que les clous qui ne plantent pas >>---
bobmidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2010, 21h58   #5
Membre Expert
 
Homme
Responsable de service informatique
Inscription : janvier 2009
Messages : 1 081
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Boutique - Magasin

Informations forums :
Inscription : janvier 2009
Messages : 1 081
Points : 1 875
Points : 1 875
Je viens de jeter un oeil dans ma base, et j'ai ceci:
Code SQL :
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE ENT_DMQ
(
	ED_I_NUMERO  Integer  NOT NULL,
	TDMQ_C_CODE  Char (5) ASCII  NOT NULL,
	ED_D_SAISIE  Date  NOT NULL  DEFAULT DATE,
	ETB_C_CODE  Char (5) ASCII  NOT NULL,
	VD_C_CODE  Char (5) ASCII,
	PRIMARY KEY(ED_I_NUMERO),
	FOREIGN KEY "TYPE DEMARQUE"	(TDMQ_C_CODE) REFERENCES TYPE_DMQ (TDMQ_C_CODE) ON DELETE  RESTRICT,
	FOREIGN KEY ETABLISSEMENT	(ETB_C_CODE) REFERENCES ETABLISSEMENT (ETB_C_CODE) ON DELETE  RESTRICT,
	FOREIGN KEY VENDEUR	(VD_C_CODE) REFERENCES VENDEUR (VD_C_CODE) ON DELETE  RESTRICT
)

Donc à priori la bonne syntaxe est DEFAULT DATE... en tout cas avec MaxDb. Quel est ton SGBD ?

Tatayo
tatayo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2010, 00h09   #6
Invité régulier
 
titeuf
Étudiant
Inscription : novembre 2009
Messages : 63
Détails du profil
Informations personnelles :
Nom : titeuf

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2009
Messages : 63
Points : 6
Points : 6
merci les amis
j'ai corrigé la requête et ça fonctionne bien

Code :
1
2
3
4
5
6
7
8
9
10
CREATE TABLE MEMBER 
( member_id number (10) NOT NULL
,last_name varchar2 (25) NOT NULL
,first_name varchar2(25)
,address varchar2(100)
,city varchar2(30)
,phone varchar2(15)
, join_DAte  date  DEFAULT sysdate NOT NULL  
, constraint pk PRIMARY KEY (MEMBER_ID)
);
j'ai enlevé l'unicité car la clé primaire englobe la contrainte (unique) et j'ai ajouté default sysdate

à tatayo, pour mon sgbd j'ai sql plus d'oracle

merci tatayo,bobmidou.
titeufdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h40.


 
 
 
 
Partenaires

Hébergement Web