Ich habe eindeutige Zeilen mit Primärschlüssel in meiner emp
Tabelle.Aktualisieren oder Einfügen von Problemen in SQL Server?
select * from EMP E;
Jetzt habe ich emp_backup
Tabelle erstellt, die wie Sicherung von emp
Tabelle nimmt.
insert into emp_backup
select * from emp e
where not exists (select EMPNO from emp_backup E1 where E1.EMPNO=e.EMPNO);
die obige Abfrage erfolgreich kopiert alle Zeilen emp
-emp_backup
und es ist sicher, wenn Sie wieder über Abfrage ausgeführt wird, die bestehenden Reihen emp
-emp_backup
Tabelle in nächsten Lauf nicht kopieren.
jetzt ist mein Problem, wenn ich einen Datensatz in emp
Tabelle aktualisieren und versuchen, über Abfrage ausführen gibt es mir Fehler primary key violation
, die ausgenommen ist.
zum Beispiel.
update EMP
set JOB='worker'
where EMPNO=14;
I emp
Tabelle aktualisieren, nachdem mit empno
14 den Datensatz zu kopieren Tabelle zu emp_backup.
Wenn ich insert into emp_backup....
Abfrage ausführen Ich möchte diese Update-Änderung sollte in emp_backup
Tabelle widerspiegeln.
Wie kann ich die obige Abfrage so ändern, dass die aktualisierten Zeilen mit dem vorhandenen Primärschlüssel von emp
nach kopiert werden.
Ich hoffe, meine Frage ist klar, sag mir, wie ich es verbessern kann.
definiert haben Sie eine andere Spalte als eindeutige Schlüssel oder Primärschlüssel in emp_backup –
@SathyaNarayanan Ich habe nur 'empno' als Primärschlüssel in beide' emp' und 'emp_backup' Tisch . –
Warum verwenden Sie kein Backup? Sie könnten sowohl Voll als auch Differential für Optionen verwenden ... –