Sybaseの2つの同じ行のうち1行だけを更新する
-
21-12-2019 - |
質問
私はそれらの2つからデータベースに3行が同じです。これら2つの同じ行のうち、私はSybase.exを使用して変更を加える必要があります。
Row1: ABC 456 ancient block
Row2: ABC 456 ancient block
Row3: DEF 678 class block
.
私はABCをXYZに変更することによって最初の2つのブロックのうちの1つに変更を加える必要があります。同一のブロックが2つしかない場合は、以下の方法を実行しています。
begin transaction AA
set rowcount 1
update table
set col1 = XYZ
where col1 = ABC
commit transaction AA
set rowcount 0
.
同じ行が2つある場合は簡単ですが、2つの同一かつ1つの異なる場合はSybaseは固有の行を選択して更新します。この3行の問題を解決する方法を誰かに言うことができますか? SybaseのASEISQLを使用しています。
解決
試してみましたか:
update top 1 table
set col1 = XYZ
where col1 = ABC
. 他のヒント
私が考えた解決策です。
begin transaction a
set rowcount 2
update table
set col1 = XYZ
where col4 = block
commit transaction a
set rowcount 0
.
重複行と固有の行の1つを更新します。その後、Updateステートメントを使用して、独自の行を元の値に別々に更新します。私はそのサウンドの原油を知っていますが、誰も満足のいく答えに答えませんでした。
所属していません StackOverflow