Salut;
Je travail avec Sqlserver2005 et J'ai une table à laquelle je fais la mise à jour ; j’ai besoin d'insérer les données avant update dans une table historique.
ya une méthode pour faire ça.
Merci d'avance.
Salut;
Je travail avec Sqlserver2005 et J'ai une table à laquelle je fais la mise à jour ; j’ai besoin d'insérer les données avant update dans une table historique.
ya une méthode pour faire ça.
Merci d'avance.
Tu dois surement parler de la commande :
Sinon complète ta demande pour mieux montrer ce que tu cherches à faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part insert into table values (colonne1,colonne2,etc...)
Merci
j'ai une table T1 et table HistoriqueT1 et une gridview en editable mode,
qui affiche les données de T1 .Quand l'utilisateur modifie une ligne de la grid je veux que les premiers données de cette lignes(avent modification) seront enregistrées dans la table HistoriqueT1.
J'ai aucune aidée de faire ;montrez moi la piste à suivre merci.
Bonjour,
Vous pouvez écrire une procédure stockée à laquelle vous passez en paramètre la valeur de clé primaire identifiant la ligne qui va être modifiée, et les nouvelles données.
Lorsque la modification est validée par l'utilisateur, insérez dans votre table historique la ligne dont la valeur de clé primaire est celle de votre paramètre, puis réalisez la mise à jour :
@++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE PROCEDURE maProc @_ID INT, @_maNouvelleDonne VARCHAR(50) AS BEGIN -- Copie dans la table historique INSERT INTO dbo.maTableHistorique SELECT mesColonnes, GETDATE() FROM dbo.maTableCible WHERE maColonneClePrimaire = @_ID -- Mise à jour des données UPDATE dbo.maTableCible SET maColonne = @_maNouvelleDonne WHERE maColonneClePrimaire = @_ID END![]()
Merci infiniment elsuket!
Je vais me documenter sur les procédures stockées pour bien comprendre votre solution ;je débute en sqlserver.
merci encore.
Voici un bon point d'entrée, avec quelques exemples.
@++![]()
Merci elsuket pour le lien;
En se documentant sur les PS j'ai lu un article sur les triggers.
est ce la même chose? Est ce que je peux résoudre mon problème aussi en utilisant les triggers? je dis peut être n'importe quoi j'avoue que j'ai pas bien compris ni Triggers ni Procédures stockées.
Merci.
Bonjour,
Pas tout à fait:est ce la même chose?
- Une procédure stockée est une suite d'instructions (affectations, INSERT, UPDATE, DELETE, SELECT) qui peut retourner un ensemble de données ou effectuer seulement des modifications de données, et qui peut accepter et retourner des paramètres fournis à / par l'application appelante.
- Un trigger est un cas particulier de procédure stockée, qui n'accepte pas de paramètres et qui ne retourne pas d'ensemble de données.
Il est attaché à une table (et peut être attaché à une base de données ou un serveur sous SQL Server 2005), et se déclenche lors de la survenance d'une événement.
Lorsqu'un trigger est attaché à une table, il peut se déclencher lorsqu'une commande INSERT, UPDATE ou DELETE survient sur la table, et, tout comme une procédure stockée, exécute une suite d'instructions.
J'ai hésité à vous le proposer lors de ma première réponse.Est ce que je peux résoudre mon problème aussi en utilisant les triggers?
En espérant vous avoir éclairé,
@++![]()
Bonjour!
Merci infiniment elsuket
votre PS marche bien .merci de m'avoir aider.
Partager