1

私はこのようなテーブルを持っています

Seq ID | Uid | Type | URL

それぞれについて、たとえば、任意のタイプに対してUid複数を持つことができますUrls

Uid 123持つことができ5 video urls6 image type urls

の組み合わせごとに自動インクリメントのseqidを挿入したいUidのでType、前の例では、ビデオのseqiduid 123タイプ1,2,3,4,5はそれぞれvideo url1,2,3,4,5,6それぞれimage type urlに適用され、他のすべての組み合わせと同じにuidなります。type

4

2 に答える 2

4

この種の人工的な構成をデータベースに保存しようとすることは控えます。必要に応じて、クエリ時に生成できます。

SELECT Uid, Type, URL,
       ROW_NUMBER() OVER(PARTITION BY Uid, Type ORDER BY URL) AS SeqID
    FROM YourTable
于 2012-10-02T21:29:30.820 に答える
0

クエリでこれを実行できますか?

select row_number() over (partition by uid, type order by url) as seqID, . . .
from table

事後更新のために、更新でこれを行うこともできます。

with toupdate as (
     select row_number() over (partition by uid, type order by url) as newseqID, . . .
     from table
)
update toudpate
    set seqID as newseqID

挿入の一部として実行する場合は、列の値を維持するためのトリガーを作成する必要があります。

于 2012-10-02T21:29:39.663 に答える