Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Khóa chính bắt buộc cho máy chủ Sql

Bạn có thể sử dụng Trình kích hoạt DDL cho việc này và bạn phải phân tích cú pháp Sql để kiểm tra xem PK có đang được tạo hay không. Tôi không nghĩ là có tùy chọn khác.

Ví dụ:

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. Khung thực thể không hoạt động với bảng tạm thời

  2. Gỡ lỗi không hiển thị phiên bản thủ tục được lưu trữ hiện tại

  3. SQL Server 2008, cái này chiếm bao nhiêu dung lượng?

  4. Chuyển đổi ‘datetime2’ thành ‘date’ trong SQL Server (Ví dụ T-SQL)

  5. Câu lệnh Delete trong SQL rất chậm