Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Задължителен първичен ключ за Sql сървър

Можете да използвате DDL тригери за това и ще трябва да анализирате 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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кешът на плана на SQL Server 2008 е почти винаги празен

  2. Как да намеря име за вход, потребителско име за база данни или роли на потребител на домейн на sqlserver, който няма собствено име за вход?

  3. SQL Server не се показва във Visual Studio

  4. Дилема за именуване на таблица:имена в единствено число срещу множествено число

  5. Как работи клаузата DISTINCT на SQL?