存储过程插入或是更新前的判断如何去写

表结构如下:
TABLE WorkTicketRecord
(
WorkTicketRecordId int identity(1,1) primary key NOT NULL,
WorkTickeId int NOT NULL FOREIGN KEY...
MachineId  int NULL FOREIGN KEY...
...
)
记录可插入条件如下(相同的WorkTickeId ):
(条件一)只可以插入一笔 WorkTickeId  + MachineId(Null)记录。
或者
(条件二)可以插入一笔或多笔 WorkTickeId  + MachineId(NOT NULL)记录。
但是(条件一)与(条件二)不能同时存在
在存储过程中,插入或是更新前面的判断语句怎样写为好?

实现下载地址:http://download.cnblogs.com/insus/SQL/Procedure.zip

原文地址:https://www.cnblogs.com/insus/p/1441567.html