2

新しいテーブルを作成するときSQL Server 2008に putの構成設定はありますか?Primary key must

Oracle が主キーなしでテーブルを作成することを許可していないことは知っていますが、SQL Server 2008 にはそのような制限はありません。

そうする方法を知っていますか (ほとんどの場合、作成するのを忘れており、SQL Azure でエラーが発生します)。

4

1 に答える 1

0

これには 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
于 2013-03-28T13:01:05.953 に答える