Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
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 09/12/2006, 13h06   #1
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 57
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 57
Points : 19
Points : 19
Par défaut memoriser la valeur d'une variable

bonjour,
comment memoriser la valeur d'une variable dans une table à un instant T?
merci.
acipeg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2006, 13h10   #2
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 57
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 57
Points : 19
Points : 19
j'ai oublié de dire que la variable est donnée par une vue
acipeg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2006, 20h13   #3
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
je ne suis pas sûr de comprendre quelle est la source et quelle est la destination, mais si tu veux enregistrer la valeur d'une vue dans une variable, c'est :
Code :
1
2
 
SET @toto = (SELECT truc FROM vue LIMIT 1) ;
ou encore
Code :
1
2
3
4
 
SELECT truc INTO @toto
FROM vue 
LIMIT 1 ;
Si c'est le contraire, ça donne qqch comme ça, pour peu que ta vue soit insérable :
Code :
1
2
 
INSERT INTO vue (colonne) VALUES (@toto) ;
Est-ce que cela te fait avancer ???
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 15h12   #4
Futur Membre du Club
 
Inscription : novembre 2006
Messages : 57
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 57
Points : 19
Points : 19
merci pour ta réponse mais je vais te donner un exemple, je veux stocker la valeur de mon stock matière après chaque mouvement de stock dans une table à part.

merci
acipeg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 15h24   #5
Membre chevronné
 
Avatar de cadoudal56
 
Inscription : février 2005
Messages : 671
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2005
Messages : 671
Points : 646
Points : 646
Hello,

La requete que tu souhaites utiliser aurait été un meilleur exemple....

Si tu souhaites coupler une select et un insert en meme temps, je ne penses pas que cela soit possible... Du moins a ma connaissance...
Par contre je pense que tu dois pouvoir faire des calculs lors d'un INSERT

@+
cadou
PS : mais un vrai exemple c'est quand meme plus parlant
cadoudal56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 16h37   #6
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par cadoudal56
Si tu souhaites coupler une select et un insert en meme temps, je ne penses pas que cela soit possible... Du moins a ma connaissance...
Bien sûr que si, c'est le bien nommé INSERT... SELECT :
http://dev.mysql.com/doc/refman/4.1/...rt-select.html
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 16h43   #7
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par acipeg
je veux stocker la valeur de mon stock matière après chaque mouvement de stock dans une table à part.
Si je comprends bien, tu as une tables des Matieres (IDmat, Stock) et une table Histo_Stocks (Dateheure, IDmat, Stock) ?

Après un mouvement de la matière 6, tu peux donc faire ça :
Code :
1
2
3
 
INSERT INTO Histo_Stocks (DateHeure, IDmat, Stock)
VALUES (NOW(), 6, (SELECT Stock FROM Matieres WHERE IDmat = 6)) ;
L'idéal serait de créer sur le AFTER UPDATE de la table Matieres un trigger de ce genre-là :

Code :
1
2
3
 
INSERT INTO Histo_Stocks (DateHeure, IDmat, Stock)
VALUES (NOW(), new.IDmat, new.Stock) ;
Btw, il n'y a aucune variable là-dedans !
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun 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 09h14.


 
 
 
 
Partenaires

Hébergement Web