我有一个insert语句:
Insert into foo (id, value)
Values (1, 5)当value为例如-1时,有没有办法引发错误?
Insert into foo (Id, value)
Values (1, case when -1=-1 then raiserror() else 5 end)发布于 2017-05-23 15:31:22
您可以尝试添加check约束,例如
CREATE TABLE dbo.foo
(
id int primary key,
value int NOT NULL CHECK (value >= 0)
)如果表foo已经存在,则可以使用ALTER TABLE添加约束:
ALTER TABLE dbo.foo ADD CONSTRAINT ck_value CHECK (value >= 0)发布于 2017-05-23 15:39:32
存储过程中支持Raiseerror()方法。
最好将insert查询写入存储过程并应用验证,如下所示:
IF (@value < 0)
BEGIN
RAISERROR('Invalid parameter: @value cannot be less than zero', 18, 0)
RETURN
ENDhttps://stackoverflow.com/questions/44128386
复制相似问题