Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
"Jean-Luc Baptiste" a écrit dans le message de
news:45e4091a$0$5071$Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
la session sql contient la derniere valeur de l'id
voir l'aide sur "instruction sql"
Pour connaître la valeur de l'identifiant automatique lors d'une requête de
type INSERT sur des fichiers Hyper File :
Requête exécutée par la fonction HExécuteRequêteSQL ou HExécuteRequête :
la syntaxe <Nom du fichier>.<Nom de la rubrique Identifiant automatique>
permet de connaître la valeur de l'identifiant automatique, juste après
l'exécution de la requête. En effet, l'enregistrement en cours correspond à
l'enregistrement ajouté.
Requête exécutée par la fonction SQLExec : la variable SQL.Idauto permet
de connaître la valeur de l'identifiant.
"Jean-Luc Baptiste" <jeanluc.baptiste@free.fr> a écrit dans le message de
news:45e4091a$0$5071$ba4acef3@news.orange.fr...
Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
la session sql contient la derniere valeur de l'id
voir l'aide sur "instruction sql"
Pour connaître la valeur de l'identifiant automatique lors d'une requête de
type INSERT sur des fichiers Hyper File :
Requête exécutée par la fonction HExécuteRequêteSQL ou HExécuteRequête :
la syntaxe <Nom du fichier>.<Nom de la rubrique Identifiant automatique>
permet de connaître la valeur de l'identifiant automatique, juste après
l'exécution de la requête. En effet, l'enregistrement en cours correspond à
l'enregistrement ajouté.
Requête exécutée par la fonction SQLExec : la variable SQL.Idauto permet
de connaître la valeur de l'identifiant.
"Jean-Luc Baptiste" a écrit dans le message de
news:45e4091a$0$5071$Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
la session sql contient la derniere valeur de l'id
voir l'aide sur "instruction sql"
Pour connaître la valeur de l'identifiant automatique lors d'une requête de
type INSERT sur des fichiers Hyper File :
Requête exécutée par la fonction HExécuteRequêteSQL ou HExécuteRequête :
la syntaxe <Nom du fichier>.<Nom de la rubrique Identifiant automatique>
permet de connaître la valeur de l'identifiant automatique, juste après
l'exécution de la requête. En effet, l'enregistrement en cours correspond à
l'enregistrement ajouté.
Requête exécutée par la fonction SQLExec : la variable SQL.Idauto permet
de connaître la valeur de l'identifiant.
"Jean-Luc Baptiste" a écrit dans le message de
news:45e4091a$0$5071$Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
la session sql contient la derniere valeur de l'id
voir l'aide sur "instruction sql"
Pour connaître la valeur de l'identifiant automatique lors d'une requête de
type INSERT sur des fichiers Hyper File :
Requête exécutée par la fonction HExécuteRequêteSQL ou HExécuteRequête :
la syntaxe <Nom du fichier>.<Nom de la rubrique Identifiant automatique>
permet de connaître la valeur de l'identifiant automatique, juste après
l'exécution de la requête. En effet, l'enregistrement en cours correspond à
l'enregistrement ajouté.
Requête exécutée par la fonction SQLExec : la variable SQL.Idauto permet
de connaître la valeur de l'identifiant.
"Jean-Luc Baptiste" <jeanluc.baptiste@free.fr> a écrit dans le message de
news:45e4091a$0$5071$ba4acef3@news.orange.fr...
Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
la session sql contient la derniere valeur de l'id
voir l'aide sur "instruction sql"
Pour connaître la valeur de l'identifiant automatique lors d'une requête de
type INSERT sur des fichiers Hyper File :
Requête exécutée par la fonction HExécuteRequêteSQL ou HExécuteRequête :
la syntaxe <Nom du fichier>.<Nom de la rubrique Identifiant automatique>
permet de connaître la valeur de l'identifiant automatique, juste après
l'exécution de la requête. En effet, l'enregistrement en cours correspond à
l'enregistrement ajouté.
Requête exécutée par la fonction SQLExec : la variable SQL.Idauto permet
de connaître la valeur de l'identifiant.
"Jean-Luc Baptiste" a écrit dans le message de
news:45e4091a$0$5071$Bonjour,
J'ai besoin d'un conseil en SQL.
J'ai 2 tables liées (par exemple commande et produits)
Idcommande est l'identifiant unique de commande et se retrouve dans la
table Produit en clé doublonnée)
Je commence l'enregistrement via sql de la ligne de commande dans le
fichier commande.
C'est ici que je cherche la meilleure façon de faire : Comment faire
pour récupérer l'identifiant de la dernière commande saisie pour pouvoir
l'inscrire dans la table des produits ?
Je pourrais relancer une recherche dans le fichier des commandes
immédiatement après avoir lancé la requête d'insertion mais suis-je sûr
que dans un environnement réseau personne ne vient pas de saisir une
commande juste après moi ?
Merci d'avance
la session sql contient la derniere valeur de l'id
voir l'aide sur "instruction sql"
Pour connaître la valeur de l'identifiant automatique lors d'une requête de
type INSERT sur des fichiers Hyper File :
Requête exécutée par la fonction HExécuteRequêteSQL ou HExécuteRequête :
la syntaxe <Nom du fichier>.<Nom de la rubrique Identifiant automatique>
permet de connaître la valeur de l'identifiant automatique, juste après
l'exécution de la requête. En effet, l'enregistrement en cours correspond à
l'enregistrement ajouté.
Requête exécutée par la fonction SQLExec : la variable SQL.Idauto permet
de connaître la valeur de l'identifiant.
Merci je regarde de suite.
Merci je regarde de suite.
Merci je regarde de suite.
Jean-Luc Baptiste wrote:
...Merci je regarde de suite.
Bonjour Jean-Luc,
J'admire vos cours didactiques et celui sur SQL/mySQL est également très
bien fait. Pourtant, si la question concerne "SQL sur HF", j'ose
questionner la valeur pratique d'un cours utilisant INSERT, DELETE et
UPDATE, au moins sur les versions <= WD10. La raison est qu'aucune
contrainte et aucune clé unique n'est respecté par les requêtes Hyper
File. Le suivant me donne en effet 3 enregistrements avec l'ID 9999 dans
une rubrique de type clé unique.
i est entier
sQuery est chaîne
dsSQL est une Source de Données
sQuery = "INSERT INTO Contract (IDContract) VALUES (9999) "
//Contract.IDContract est une clé unique !
POUR i = 1 A 3
HExécuteRequêteSQL(dsSQL, sQuery)
Trace(Contract.IDContract)
FIN
Aucune contrainte n'est respecté. Je peux supprimer ce que je veux, HF
ne m'arrêtera pas. D'autre part mes lignes de commande supprimé en
cascade par hSupprime sont sauves: la suppression de l'entête de
commande par requête ne les touche pas.
On ne sait non plus si la requête a exécuté une modification ou une
suppression, car le retour de hExecuteRequête est sur l'exécution du
code de la requête, pas la commande même.
Probablement vous savez tous ça, mais je vous assure que beaucoup de
gens ne le savent pas. Un acheteur de Windev ne peux pas connaître cette
limitation importante de HF, car il n'y en a aucune information.
D'accord beaucoup de gens ne travaillent pas avec les contraintes, mais
que la base accepte plusieurs fois le même ID n'est quand-même pas
normal. A mon avis la moindre chose à faire dans un tel cas est d'en
informer les développeurs.
Salutations
Mat
Jean-Luc Baptiste wrote:
...
Merci je regarde de suite.
Bonjour Jean-Luc,
J'admire vos cours didactiques et celui sur SQL/mySQL est également très
bien fait. Pourtant, si la question concerne "SQL sur HF", j'ose
questionner la valeur pratique d'un cours utilisant INSERT, DELETE et
UPDATE, au moins sur les versions <= WD10. La raison est qu'aucune
contrainte et aucune clé unique n'est respecté par les requêtes Hyper
File. Le suivant me donne en effet 3 enregistrements avec l'ID 9999 dans
une rubrique de type clé unique.
i est entier
sQuery est chaîne
dsSQL est une Source de Données
sQuery = "INSERT INTO Contract (IDContract) VALUES (9999) "
//Contract.IDContract est une clé unique !
POUR i = 1 A 3
HExécuteRequêteSQL(dsSQL, sQuery)
Trace(Contract.IDContract)
FIN
Aucune contrainte n'est respecté. Je peux supprimer ce que je veux, HF
ne m'arrêtera pas. D'autre part mes lignes de commande supprimé en
cascade par hSupprime sont sauves: la suppression de l'entête de
commande par requête ne les touche pas.
On ne sait non plus si la requête a exécuté une modification ou une
suppression, car le retour de hExecuteRequête est sur l'exécution du
code de la requête, pas la commande même.
Probablement vous savez tous ça, mais je vous assure que beaucoup de
gens ne le savent pas. Un acheteur de Windev ne peux pas connaître cette
limitation importante de HF, car il n'y en a aucune information.
D'accord beaucoup de gens ne travaillent pas avec les contraintes, mais
que la base accepte plusieurs fois le même ID n'est quand-même pas
normal. A mon avis la moindre chose à faire dans un tel cas est d'en
informer les développeurs.
Salutations
Mat
Jean-Luc Baptiste wrote:
...Merci je regarde de suite.
Bonjour Jean-Luc,
J'admire vos cours didactiques et celui sur SQL/mySQL est également très
bien fait. Pourtant, si la question concerne "SQL sur HF", j'ose
questionner la valeur pratique d'un cours utilisant INSERT, DELETE et
UPDATE, au moins sur les versions <= WD10. La raison est qu'aucune
contrainte et aucune clé unique n'est respecté par les requêtes Hyper
File. Le suivant me donne en effet 3 enregistrements avec l'ID 9999 dans
une rubrique de type clé unique.
i est entier
sQuery est chaîne
dsSQL est une Source de Données
sQuery = "INSERT INTO Contract (IDContract) VALUES (9999) "
//Contract.IDContract est une clé unique !
POUR i = 1 A 3
HExécuteRequêteSQL(dsSQL, sQuery)
Trace(Contract.IDContract)
FIN
Aucune contrainte n'est respecté. Je peux supprimer ce que je veux, HF
ne m'arrêtera pas. D'autre part mes lignes de commande supprimé en
cascade par hSupprime sont sauves: la suppression de l'entête de
commande par requête ne les touche pas.
On ne sait non plus si la requête a exécuté une modification ou une
suppression, car le retour de hExecuteRequête est sur l'exécution du
code de la requête, pas la commande même.
Probablement vous savez tous ça, mais je vous assure que beaucoup de
gens ne le savent pas. Un acheteur de Windev ne peux pas connaître cette
limitation importante de HF, car il n'y en a aucune information.
D'accord beaucoup de gens ne travaillent pas avec les contraintes, mais
que la base accepte plusieurs fois le même ID n'est quand-même pas
normal. A mon avis la moindre chose à faire dans un tel cas est d'en
informer les développeurs.
Salutations
Mat
Tout ça fait partie d'un chapitre du livre que je suis en train de finir et qui traite (le chapitre) de la migration d'une base
de donnée Hyper file classic sur un serveur Manta puis Mysql et la traduction du code vers le tout SQL.
Tout ça fait partie d'un chapitre du livre que je suis en train de finir et qui traite (le chapitre) de la migration d'une base
de donnée Hyper file classic sur un serveur Manta puis Mysql et la traduction du code vers le tout SQL.
Tout ça fait partie d'un chapitre du livre que je suis en train de finir et qui traite (le chapitre) de la migration d'une base
de donnée Hyper file classic sur un serveur Manta puis Mysql et la traduction du code vers le tout SQL.