質問

私はそれらの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ステートメントを使用して、独自の行を元の値に別々に更新します。私はそのサウンドの原油を知っていますが、誰も満足のいく答えに答えませんでした。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top