を使用していますこれは私には思えます。すべての可能なシナリオを網羅しているため、通常はトリガーで実行されます。ここで
を使用すると、挿入または最初に更新するために、Javaから呼び出すことができますストアドプロシージャです:
create proc ReplaceName (@Name varchar(100), @Value1 varchar(100), @Value2 varchar(100))
as
set nocount on
-- try to update Name with new values
update [First]
set Value1 = @Value1,
Value2 = @Value2
where Name = @Name
-- If it does not exist
if @@rowcount = 0
begin
-- Insert new row
insert into [First] (Name, Value1, Value2)
values (@Name, @Value1, @Value2)
end
そして、これは、第二に、古いコピーを保存し、トリガである:
create trigger HistoryFirst on [First]
after insert, update
as
set nocount on
insert into [Second] (Name, Value1, Value2)
select Name, Value1, Value2
from Deleted
私がそれを行うことができますJavaコード、これは長いでしょう。だから、私は助けになるだろうクエリを探しています – ravi
あなたはどのデータベースを使用していますか?あなたの質問を編集してその名前を入れると、人々はそれを手伝うことができます。 – GrandMasterFlush
試しましたか? – Virus