Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 [SQL] Mettre à jour une table à partir d'une autre table Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Sam 23 Sep 2006 - 21:47 Répondre en citantRevenir en haut

Voilà le topo,

J'ai une table typeAnalyse, et une nouvelle table Analyse2006. Elles ont la même structure, et notamment la même clef primaire : refTypeAnalyse.

Comment mettre à jour ma table typeAnalyse à partir de la table Analyse2006 (seulement les occurences qui ont changé évidemment) Question

Je propose ça mais j'ai un gros doute :
Code:
UPDATE typeAnalyse
SET * = (SELECT * FROM Analyse2006
         WHERE Analyse2006.refTypeAnalyse = typeAnalyse.refTypeAnalyse);
Voir le profil de l'utilisateurEnvoyer un message privé

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
gwinyam
Accro à Web-IG
Accro à Web-IG


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 216
Localisation: Vernon (27200) - Rouen (76000)

MessagePosté le: Sam 23 Sep 2006 - 22:28 Répondre en citantRevenir en haut

Je ne suis pas sur que l'étoile dans l'instruction SET soit correcte. Je n'ai jamais vu ça en tout cas.

Code:
UPDATE typeAnalyse
SET * = (SELECT * FROM Analyse2006
         WHERE Analyse2006.refTypeAnalyse = typeAnalyse.refTypeAnalyse);


Mais si l'étoile est utilisable, alors oui, c'est bon. Cool

_________________
eXar 3e année CDIL Rouen
BTS IG option Dév 2006
Egalement morice de CCO
Youpi pour les eXars
Dirigeant d'eXiaStream, radio nationale
Responsable Communication StudioNet.fr
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Vincent
Webmaster
Webmaster


Post-BTS
Sexe: Sexe:Masculin
Messages: 5584
Localisation: Montpellier

MessagePosté le: Dim 24 Sep 2006 - 02:06 Répondre en citantRevenir en haut

En gros c'est pour avoir le même contenu dans les 2 tables ?
Car selon le SGBD, celui-ci sait le gérer de façon native

_________________
Hey les amis, pensez à suivre @webig sur Twitter, et pourquoi pas me suivre moi @cybervince Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN MessengerNuméro ICQ
Zonag
Modérateur
Modérateur


BTS IG - Option réseau Diplômé
Sexe: Sexe:Masculin
Messages: 1298
Localisation: Toulouse

MessagePosté le: Dim 24 Sep 2006 - 02:30 Répondre en citantRevenir en haut

Heu je dis peut etre une connerie mais ça serais pas plus simple de faire une vue ?
Voir le profil de l'utilisateurEnvoyer un message privé
Genzo
Modérateur
Modérateur


Post-BTS
Sexe: Sexe:Masculin
Messages: 1706
Localisation: Sartrouville (78)

MessagePosté le: Dim 24 Sep 2006 - 10:09 Répondre en citantRevenir en haut

Zonag a écrit:
Heu je dis peut etre une connerie mais ça serais pas plus simple de faire une vue ?

Oui car vive la redondance sinon Rolling Eyes

_________________
N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
telynor
Résident du forum
Résident du forum


Post-BTS
Sexe: Sexe:Féminin
Messages: 345
Localisation: IDF

MessagePosté le: Dim 24 Sep 2006 - 11:28 Répondre en citantRevenir en haut

Pour repondre je me base sur SQL serveur.

Le SET c ets fais pour définir la valeur d'une variable ou d'un champ, donc un SET * est une syntaxe incorrect.

Ensuite

Strato a écrit:
(seulement les occurences qui ont changé évidemment) Question




Si tu as une colone toto avec avec la valeur 1 et que tu fais un set toto = 1, SQL serveur va remplacer 1 par 1.

Le moteur ne fais pas de teste pour savoir si la valeur en base est differente de la valeur inserer.


Si tu dois update ta table pour quelle soit similaire a une autre, a ta place je ferai un

DELETE FROM Table
puis un
INSERT INTO Table SELECT * FROM AutreTable
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
gwinyam
Accro à Web-IG
Accro à Web-IG


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 216
Localisation: Vernon (27200) - Rouen (76000)

MessagePosté le: Dim 24 Sep 2006 - 12:07 Répondre en citantRevenir en haut

Ouais, je suis d'accord, avec toi telinor, je viens de tester sous MySQL, c'est pareil, syntaxe incorrecte.

_________________
eXar 3e année CDIL Rouen
BTS IG option Dév 2006
Egalement morice de CCO
Youpi pour les eXars
Dirigeant d'eXiaStream, radio nationale
Responsable Communication StudioNet.fr
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Dim 24 Sep 2006 - 14:18 Répondre en citantRevenir en haut

telynor a écrit:
Strato a écrit:
(seulement les occurences qui ont changé évidemment) Question

DELETE FROM Table
puis un
INSERT INTO Table SELECT * FROM AutreTable

Mais là tu me fais effacer toute la table typeAnalyse non?

J'ai du mal à expliquer alors je donne un exemple :

Table "typeAnalyse" :
0001 - mamographie - 50.00
0002 - angioplastie - 70.00
0003 - liposucion - 180.00
0004 - appendisectomie - 35.00
0005 - amputation du cerveau - 10.00
0006 - greffe de rein - 90.00

Table "Analyse2006" :
0003 - liposucion - 150.00
0004 - vasectomie - 110.00
0005 - amputation du cerveau - 5.00

Voilà, je veux mettre à jour les occurrences de "typeAnalyse" à partir de celles de "Analyse2006".
Voir le profil de l'utilisateurEnvoyer un message privé
Zonag
Modérateur
Modérateur


BTS IG - Option réseau Diplômé
Sexe: Sexe:Masculin
Messages: 1298
Localisation: Toulouse

MessagePosté le: Dim 24 Sep 2006 - 14:47 Répondre en citantRevenir en haut

bah ça confirme bien ce que je pense : une vue ça serais quand meme pas plus mal ...

http://www.commentcamarche.net/sql/sqlview.php3
Voir le profil de l'utilisateurEnvoyer un message privé
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Dim 24 Sep 2006 - 14:51 Répondre en citantRevenir en haut

Zonag a écrit:
bah ça confirme bien ce que je pense : une vue ça serais quand meme pas plus mal ...

http://www.commentcamarche.net/sql/sqlview.php3

Je précise bien que c'est un exercice sur PAPIER, donc je ne vois pas du tout en quoi ça peut me servir.

Au passage, est-ce que quelqu'un connaîtrait un bon tutoriel qui explique comment installer IIS + SQL Server (j'ai les deux mais je ne sais pas comment les démarrer)?
Voir le profil de l'utilisateurEnvoyer un message privé
telynor
Résident du forum
Résident du forum


Post-BTS
Sexe: Sexe:Féminin
Messages: 345
Localisation: IDF

MessagePosté le: Dim 24 Sep 2006 - 19:19 Répondre en citantRevenir en haut

Pour faire ta mise a jour il va falloir passer par une procédure stocké et un curseur

tu parcours toutes les lignes de ta 2 eme table et pour chacune des lignes tu fais l'update dans ta premiere ligne (where id = id)


Pour l'install de IIS

Panneau de configuration / ajout supprésion de programme / (a gauche) ajouter des composants de windows IIS (pense a ajouter les extension de front page dans les options avancées) / insert le CD de windows et Suivant Suivant ...


Pour l'install de SQL Server (version dev / express / personnal)

mettre le CD / cliquer sur suivant suivant .../

Choisir d'ouvrir une instance avec le Compte System
et Choisir une autenthification mixte.
Penser a installer les outils ET le serveur
Laisser l'instance par default (eviter les instance nomé c est vite chiant a administrer)
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Dim 24 Sep 2006 - 20:06 Répondre en citantRevenir en haut

telynor a écrit:
Pour l'install de SQL Server (version dev / express / personnal)

mettre le CD / cliquer sur suivant suivant .../

Choisir d'ouvrir une instance avec le Compte System
et Choisir une autenthification mixte.
Penser a installer les outils ET le serveur
Laisser l'instance par default (eviter les instance nomé c est vite chiant a administrer)

IIS c'est bon c'est installé.

SQL Server a (théoriquement) été installé avec le reste de Visual Studio 2005, mais dans Démarrer/Tous les Programmes, j'ai seulement "Microsoft SQL Server 2005/Outils de configuration". Pas de "Démarrer SQL Server 2005".

Comment fait-on pour créer sa première table et faire joujou avec les SELECT?
Voir le profil de l'utilisateurEnvoyer un message privé
Genzo
Modérateur
Modérateur


Post-BTS
Sexe: Sexe:Masculin
Messages: 1706
Localisation: Sartrouville (78)

MessagePosté le: Dim 24 Sep 2006 - 20:11 Répondre en citantRevenir en haut

Tu peux créer des tables dans Entreprise Manager.
Faut chercher un petit peur Wink

_________________
N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci Wink
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Zonag
Modérateur
Modérateur


BTS IG - Option réseau Diplômé
Sexe: Sexe:Masculin
Messages: 1298
Localisation: Toulouse

MessagePosté le: Dim 24 Sep 2006 - 20:28 Répondre en citantRevenir en haut

Genzo a écrit:
Faut chercher un petit peur Wink


Ah bah si ça fais pas trop peur ça va Smile

Sinon tu as l'analyseur de requetes si tu veux directement requeter ... Rolling Eyes
Voir le profil de l'utilisateurEnvoyer un message privé
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Dim 24 Sep 2006 - 20:30 Répondre en citantRevenir en haut

Zonag a écrit:
Sinon tu as l'analyseur de requetes si tu veux directement requeter ... Rolling Eyes

"Analyseur de requêtes", "Entreprise Manager" ou même "EM", tout ça n'apparaît nulle part! Crying or Very sad

Est-ce que j'aurais oublié d'installer quelque chose? Je vais vérifier...
Voir le profil de l'utilisateurEnvoyer un message privé
telynor
Résident du forum
Résident du forum


Post-BTS
Sexe: Sexe:Féminin
Messages: 345
Localisation: IDF

MessagePosté le: Lun 25 Sep 2006 - 09:02 Répondre en citantRevenir en haut

Avec visual studio 2005 et SQL serveur 2005 les outils ont changer de nom.

Plus d'analyseur de requete et plus d'enterprise manager maintenant il ya un outils unique qui s'appel "SQL server manager studio".

Mais il me semble que visual studio t'install une version Express de SQL server, donc sans outils propre d'administrateur, juste un moteur.

Toutefois tu peux faire un peu de manipulation sur ta base de donnée via Visual studio
Menu Affichage / Explorateur de serveur / et apres faut fouiller un peu

Je ne m'en suis jamais servis j ai toujours une version Dev de SQL serveur , donc pour le reste je te laisse chercher
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Lun 25 Sep 2006 - 20:39 Répondre en citantRevenir en haut

telynor a écrit:
Avec visual studio 2005 et SQL serveur 2005 les outils ont changer de nom.

Plus d'analyseur de requete et plus d'enterprise manager maintenant il ya un outils unique qui s'appel "SQL server manager studio".

Mais il me semble que visual studio t'install une version Express de SQL server, donc sans outils propre d'administrateur, juste un moteur.

Toutefois tu peux faire un peu de manipulation sur ta base de donnée via Visual studio
Menu Affichage / Explorateur de serveur / et apres faut fouiller un peu

Je ne m'en suis jamais servis j ai toujours une version Dev de SQL serveur , donc pour le reste je te laisse chercher

Alors oui, effectivement, j'ai appris aujourd'hui au boulot ce que le terme "service" signifiait, et on m'a renseigné un peu sur IIS et SQL Server.

Donc là présentement j'ai IIS et SQL Server qui tournent car ils apparaissent bien dans mes processus actifs.

Dans l'Explorateur de serveur je n'ai rien qui puisse me permettre de créer quelques tables ou de tester des requêtes.

Par contre je peux faire Fichier/Nouveau projet... et dans la fenêtre qui s'affiche, chaque langage (C++, C#, J#, VB) offre la possibilité de créer un "Projet SQL Server".

Et c'est là que ça foire, car quand je le lance ça me demande un nom de serveur. La seule possibilité offerte est le nom de ma machine. Mais ensuite si je clique sur OK ou sur "tester la connexion", ça mouline puis j'ai droit à un beau message d'erreur :

"Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cet échec peut être dû au fait que les paramètres par défaut de SQL Server n'autorisent pas les connexions à distance. (provider : Fournisseur de canaux nommés, error: 40 - Impossible d'ouvrir une connexion à SQL Server)"

Est-ce que ça peut-être une question de droits?

Je suis sous Win XP Pro SP2, installation récente, et je n'ai touché à rien de particulier à partir le service IIS que j'ai installé...
Voir le profil de l'utilisateurEnvoyer un message privé
telynor
Résident du forum
Résident du forum


Post-BTS
Sexe: Sexe:Féminin
Messages: 345
Localisation: IDF

MessagePosté le: Lun 25 Sep 2006 - 21:09 Répondre en citantRevenir en haut

tu pourrais me mettre un vnc sur ta machine a la limite que je regarde ?

msn feuille_du_chene at msn.com
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
telynor
Résident du forum
Résident du forum


Post-BTS
Sexe: Sexe:Féminin
Messages: 345
Localisation: IDF

MessagePosté le: Mer 27 Sep 2006 - 07:38 Répondre en citantRevenir en haut

Pour info on a résolu son probleme Smile
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Mer 27 Sep 2006 - 19:11 Répondre en citantRevenir en haut

telynor a écrit:
Pour info on a résolu son probleme Smile

... indirectement en installant SQL Studio Manager 2005 Express qui ajoute les outils d'administration au SQL Server fourni avec Visual Studio 2005, et qui facilite énormément la connexion audit serveur.
Voir le profil de l'utilisateurEnvoyer un message privé
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum