私はこの問題を数日間解決しようとしてきましたが、あまりうまくいきませんでした。こことcodeprojectの両方で、SQL Server 2000 のページングについて説明している多くのリソースを見つけました。
私が直面している問題は、主キーを構成する 3 つのキーを持つテーブルに何らかのページング メカニズムを実装しようとしていることです。オペレーター、CustomerIdentifier、DateDisconnected。
ヘルプ/ポインタをいただければ幸いです
私はこの問題を数日間解決しようとしてきましたが、あまりうまくいきませんでした。こことcodeprojectの両方で、SQL Server 2000 のページングについて説明している多くのリソースを見つけました。
私が直面している問題は、主キーを構成する 3 つのキーを持つテーブルに何らかのページング メカニズムを実装しようとしていることです。オペレーター、CustomerIdentifier、DateDisconnected。
ヘルプ/ポインタをいただければ幸いです
SQL Server 2000 には便利なrow_number
機能がないため、次のように、サブクエリを使用して行番号列を自動生成する必要があります。
select
*
from
(select
*,
(select count(*) from tblA where
operator < a.operator
or (operator = a.operator
and customeridentifier < a.customeridentifier)
or (operator = a.operator
and customeridentifier = a.customeridentifier
and datedisconnected <= a.datedisconnected)) as rownum
from
tblA a) s
where
s.rownum between 5 and 10
order by s.rownum
ただし、テーブル内の任意の列でこれらの行を並べ替えることができます。複合キーを使用する必要はありません。それはおそらくもっと速く走るでしょう!
さらに、複合キーは通常フラグです。これら 3 つの列に一意の制約を持つ代理キーを使用していない特別な理由はありますか?