限制插入数据
我想用触发器来实现,这样的触发器怎么写
我现在有表PurchOutProduct 字段qty 如果向表qty 插入的数据是 比如:(—10)不允许插入, (10)这样的就允许插入 数字是变动的,只要带有‘-’就不允许 不让保存。这张单据是两个表组成的,不知道写触发器还要不要考虑另一个表PurchOutbase
[解决办法]
qty 字段上加check 约束来的更快更直接些。
ALTER TABLE PurchOutProductADD CONSTRAINT ck_qty_PurchOutProduct CHECK (qty >=0);GOALTER TABLE PurchOutbaseADD CONSTRAINT ck_qty_PurchOutbase CHECK (qty >=0);GO
[解决办法]
用检查就行了Create table PurchOutProduct(Qty int check (Qty>0))
[解决办法]
触发器这样实现
Create table PurchOutProduct(Qty int)goCreate trigger tr_PurchOutProduct on PurchOutProductfor insertasif exists(select 1 from inserted where Qty<=0) rollback tran
[解决办法]
Create trigger tr_PurchOutProduct on PurchOutProductfor insertasinsert into PurchOutProduct select * from inserted where not exists (select 1 from inserted where qty<0)