新しいテーブルを作成するときSQL Server 2008に putの構成設定はありますか?Primary key must
Oracle が主キーなしでテーブルを作成することを許可していないことは知っていますが、SQL Server 2008 にはそのような制限はありません。
そうする方法を知っていますか (ほとんどの場合、作成するのを忘れており、SQL Azure でエラーが発生します)。
新しいテーブルを作成するときSQL Server 2008に putの構成設定はありますか?Primary key must
Oracle が主キーなしでテーブルを作成することを許可していないことは知っていますが、SQL Server 2008 にはそのような制限はありません。
そうする方法を知っていますか (ほとんどの場合、作成するのを忘れており、SQL Azure でエラーが発生します)。
これには DDL Triggers を使用できますが、Sql を解析して PK が作成されているかどうかを確認する必要があります。他に選択肢はないと思います。
例:
create trigger trgTable
on database
for create_table, alter_table
as
set nocount on
declare @data xml, @obj varchar(255), @type varchar(255), @cmd varchar(max)
set @data = EVENTDATA()
select
@obj = @data.value('(/EVENT_INSTANCE/ObjectName)[1]', 'varchar(256)'),
@type = @data.value('(/EVENT_INSTANCE/ObjectType)[1]', 'varchar(25)'),
@cmd = @data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'varchar(max)')
-- now do your logic here