sql >> Databasteknik >  >> RDS >> Sqlserver

Obligatorisk primärnyckel för SQL-server

Du kan använda DDL-utlösare för detta, och du måste analysera SQL för att kontrollera om PK skapas. Jag tror inte att det finns något annat alternativ.

Exempel:

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



  1. REGEX för att välja n:te värde från en lista, vilket tillåter nollvärden

  2. Hur man installerar MariaDB på CentOS 8

  3. Hur iif() fungerar i SQLite

  4. Billigaste sättet att avgöra om en MySQL-anslutning fortfarande är vid liv