SQL Serverのでは動作し、ほとんどの人は、あなたがそうのような一時テーブルを宣言することができます知っているように:SQL Server 2005のインデックスに動的な名前を付けますか?
create table #foo
(
row_id int identity not null primary key,
bar varchar(50) not null default 'YoMomma'
);
を...これは、この一時テーブルの主キーとデフォルトの制約を作成します。これらのオブジェクトの名前はSql Serverによって動的に作成され、一意になります。
テーブルを作成した後に動的に名前付きインデックスを作成することはできますか?テンポラリテーブルを使用するストアドプロシージャが同時に複数のインスタンスを実行している可能性があり、tempdbデータベース内の同じ名前のオブジェクト間で競合が発生することなくパフォーマンスを向上させたい場合があります。 CREATE INDEX
コマンドには明示的なインデックス名が必要です。
私はダイナミックSQLを含まないソリューションを探しています。動的名だけです。
うーん... SQL Serverで10年間働いていて、それは分かりませんでした。私は単純に、インデックスが制約に似たオブジェクトとして扱われていると仮定しましたが、私はそれを試して、矛盾がないことを確認しました。良い情報! –
@ JeremyHolovacs - Constraintsは一意性要件の理由ですが、私が推測する 'sys.objects'に格納されたメタデータを取得します。 –
+1ニース、私は@JeremyHolovacsと同じ仮定の下にいた – Yuck