Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
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 22/12/2004, 10h47   #1
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Par défaut [Interbase] Problème de syntaxe SQL

Salut !

Je débute avec le SGBD Interbase et j'aimerais avoir quelques renseignements que je n'ai pas trouvé sur le net :

- Quelle est la syntaxe du mot que l'on doit mettre entre 2 blocs d'instruction afin d'exécuter un script SQL possédant plusieurs blocs ?

- Pour incrémenter la valeur d'un champ, qu'est-ce que le "nom générateur" de la fonction GenID ?? Le nom d'un champ d'une table ?

Merci d'avance pour vos réponses.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2004, 11h10   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Par défaut Re: [Interbase] Problème de syntaxe SQL

Bonjour et bienvenue,
Citation:
Envoyé par navis84
- Quelle est la syntaxe du mot que l'on doit mettre entre 2 blocs d'instruction afin d'exécuter un script SQL possédant plusieurs blocs ?
Et bien une instruction SQL se termine par un ; sauf si vous avez redéfini cette fin d'instruction avec le mot set term ^; qui dans cette exemple défini le ^ comme fin d'instruction (c'est utilise lorsque vous aurez besoin de créer des procédures stoquées ou des triggers.
Mais attention suivant le composant que vous utilisez, celui ci acceptera ou non plusieurs instructions. Par exemple sous Delphi ou BC++ le IbQuery ou IBDataSet n'accepte qu'une instruction à la fois, ce qui est normal.
Citation:
Envoyé par navis84
- Pour incrémenter la valeur d'un champ, qu'est-ce que le "nom générateur" de la fonction GenID ?? Le nom d'un champ d'une table ?

Le "nom générateur" c'est le nom d'un générateur que vous avez crée par l'instruction
Code :
CREATE GENERATOR nom_generateur;
et on peux aussi le modifier ou l'initialiser par :
Code :
SET GENERATOR nom_generateur TO 3;
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2004, 11h40   #3
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Merci Barbibulle pour ces réponses.
Le ";" marche bien et j'ai compris ce qu'est un générateur à présent.

Par contre, j'ai un problème de syntaxe au niveau de la création de table en mettant une valeur par défault à un champ.

Code :
1
2
 
CpClient 	int CONSTRAINT Client_CpClient_DF DEFAULT 84000
Cette syntaxe semble pourtant fausse ? Que mettre sous Interbase ?

Merci d'avance.
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2004, 12h07   #4
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Code :
CpClient INTEGER DEFAULT 84000
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2004, 17h07   #5
Membre confirmé
 
Inscription : janvier 2004
Messages : 537
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 537
Points : 264
Points : 264
Merci pour ton aide.

Dès que j'ai d'autres questions, je les poserai ici.

@+
navis84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h08.


 
 
 
 
Partenaires

Hébergement Web