SQL

Résolu
Sphinx_benzine Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Sphinx_benzine Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

voila je fais appel à vous car je débute dans le SQL, connaîtriez-vous par hasard une ligne de code qui permet de copier dans une table Bis les lignes qui ont été modifiées ou crées dans une table principale ?

je voudrais faire ça car ça me permettrait de voir d'un coup d'oeil ce que j'ai modifié dans ma table ...

merci d'avance et bonne journée

11 réponses

el plaga Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   4
 
T'es pas Tres net Dans ta demande pose bien ton pb avec code a l'appui
0
Alexsimps Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   13
 
Salut,

Si tu as une date de modification dans ta premiere table, alors oui tu pourras le faire sinon...
0
Sphinx_benzine Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Voici le code que j'ai su faire pour le moment.

CREATE TRIGGER Ajout_Ligne ON dbo.Evenement
FOR INSERT
AS
DECLARE @A_Variable int

SELECT @A_Variable = Numero FROM inserted
INSERT INTO Table1(tableNom,Modificationtype,Chaine)
VALUES ('Evenement','Modification enregistrement',@A_Variable)

Quand un nouveau champ "numéro" de la table Evenement est créé , celui ci est copié vers la table1.

Donc pour approfondir mon explication, je cherche à envoyer les champs qui sont modifiés/créés de la table Evenement vers la table1.

Merci de ton aide !

bonne journée
0
UaLShark Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   35
 
Tu peux le faire à l'aide des declencheurs, même si t'as pas une colonne contenant la date de modification, tu peux dans ce cas recuprerer la date systeme.
Sous Oracle les triggers (declencheurs) before insert et before update et before delete font l'affaire.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sphinx_benzine Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
donc je comprends un peu le systeme de déclencheur, mais ici dans mon code la copie ne se fait que quand c'est un nouveau champ qui est créé ... et pas avec ceux qui sont modifiés ...

Je suis peut-être dans la gaz ce matin mais je vois pas du tout ^^

Merci de votre aide !

bonne journée
0
C0uNter Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   48
 
Quel logiciel utilises tu ?

Sous Wamp il y a une commande qui te permet de te sauvegarder dans un fichier texte tout ce que tu as taper (donc toutes les modifications/créations etc...)il se tape avant toute autre commande (sinon pas sauvegardé) et il faut la retaper a chaque fois qu'on redémarre Wamp (ou la console Mysql)

\T C:\nom_fichier.txt

Comme ceci tu as une trace de ce que tu as fait et c'est pas mal.
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
bonjour,

si tu veux que ça fonctionne lors de la modification, faudrait peut être dans ton FOR du CREATE TABLE après INSERT, mettre UPDATE ce qui donnerai :
CREATE TRIGGER Ajout_Ligne ON dbo.Evenement
FOR INSERT, UPDATE
AS
DECLARE @A_Variable int 



ensuite pour le reste je sais pas trop car les triggers et moi nous sommes pas très amis!! :)
0
Sphinx_benzine Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
oui ça fonctionne ! merci !

j'avais dit que je débutais et qu'en plus j'étais pas dans un bon jour ... ;)

par contre est-ce que je dois indiquer tout les champs de ma table ou il y a une solution pour qu'il les vérifie tous comme un grand ? ^^
0
loicDu28 Messages postés 332 Date d'inscription   Statut Membre Dernière intervention   53
 
cool si cela fonctionne.

Par contre, pour ta question, je sais pas trop.
0
Sphinx_benzine Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
ok pas grave merci quand même ;)

je vais faire des tests et autres recherches, on ne sait jamais ^^

bonne journée

bizzzz
0
Alexsimps Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   13
 
Il me semble qu'il faut specifier chaque champ... N'oublis pas de passer résolu puisque la quesiton de base est réolue ^^
0
Sphinx_benzine Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
oui merci c'est ma premiére fois sur comment ça marche alors je ne sais pas encore trop quoi faire ^^

merci du conseil

bonne journée
0