SQLServerで一意のシーケンスを作成する方法はありますか
select <sequence>.nextval from dual
一意の番号を作成するOracleの上記のコードがあり、その番号を他の人が使用することはできません。
同じように、SQLServerで一意のシーケンス番号を作成するにはどうすればよいですか????
誰かがこれで私を助けてくれます
SQLServerで一意のシーケンスを作成する方法はありますか
select <sequence>.nextval from dual
一意の番号を作成するOracleの上記のコードがあり、その番号を他の人が使用することはできません。
同じように、SQLServerで一意のシーケンス番号を作成するにはどうすればよいですか????
誰かがこれで私を助けてくれます
シーケンスは SQL Server 2012 に追加されていますが、これはまだ完全にはリリースされていません。事前に試用したい場合は、製品のリリース候補が含まれています。
シーケンスが 1 つのテーブルでのみ使用される場合は、ID 列機能を使用できます。これにより、開始番号とレコードごとに追加される値を指定できます。
多数のテーブルで使用できるシーケンスを探している場合は、ID フィールドの単一の列を持つ専用のテーブルを SQL サーバー内に作成する必要があります。.nextval が必要な場合はいつでも挿入しますテーブルに行を追加して、新しい番号を取得します。テーブルはシーケンスのように機能します。テーブルは時間の経過とともにいっぱいになります。テーブル内にレコードを保持する必要はありません。ID は現在の値を格納し、システム テーブルの次の値を取得するためにインクリメントします。
今後の SQL Server 2012 のみが、SQL 標準適合シーケンス オブジェクトをサポートします。:-( SQL Server の現在のバージョン (2008 R2 以下) では、次のように ID 制約を持つ列を使用する必要があります。
CREATE TABLE t1
(
id int identity(1,1),
somecol varchar(50)
);
これにより、id 列に 1 から始まり、1 ずつ増分する値が生成されます。