Question

J'ai une table de commande dans la base de données MySQL, ayant un champ / colonne qui stocke l'horodatage de la date du moment où la commande a été placée.

Je dois calculer quand doit être expédié l'ordre. Je pourrais probablement comprendre comment écrire une fonction pour calculer la date de livraison et appel que lorsque jamais besoin mais je pense, pas sûr qu'il peut être plus judicieux d'avoir la ShipDate comme une colonne calculée.

Cela étant dit, je ne l'ai jamais utilisé une procédure stockée ou créé un champ calculé. Le plus tard, je pense que serait le mieux, mais encore une fois pas sûr. Je fabriquais champ calculé tout le temps dans FMP mais j'ai obtenu loin de ce programme.

Était-ce utile?

La solution

Je le ferais en tant que vue . Ceci est essentiellement une instruction select où une colonne est la date d'expédition. Vous pouvez ajouter d'autres colonnes pertinentes aussi. Toute application avec accès à la base de données peut alors accéder à la vue de la même manière que les tables ordinaires.

Si votre table ressemblait à:

create table orders(id INTEGER PRIMARY KEY AUTO_INCREMENT,
                    order_date DATETIME);                                                                      

et que vous avez toujours livré 3 jours après, vous pouvez utiliser:

create view order_view as 
  select id, 
         order_date, 
         order_date + INTERVAL 3 DAY as ship_date 
  from orders;

L'instruction select peut être aussi complexe que nécessaire. Ensuite, vous venez de lire order_view dans toute application, comme si elle était une table ordinaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top