sql >> Database >  >> RDS >> Sqlserver

Verplichte primaire sleutel voor SQL-server

Je zou hiervoor DDL Triggers kunnen gebruiken, en je zou Sql moeten ontleden om te controleren of PK wordt gemaakt. Ik denk niet dat er een andere optie is.

Voorbeeld:

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. Gratis methoden om corruptie van SQL Server-indexen te herstellen

  2. Gebruik FILE_NAME() om de logische bestandsnaam te retourneren voor een gegeven bestands-ID in SQL Server

  3. Waarden zoeken die niet in een tabel voorkomen

  4. Hoe psycopg2 in te stellen met Google App Engine PostgreSQL-database