当前位置: 代码迷 >> Sql Server >> 限制插入数据解决方法
  详细解决方案

限制插入数据解决方法

热度:39   发布时间:2016-04-27 14:48:20.0
限制插入数据
我想用触发器来实现,这样的触发器怎么写
 我现在有表PurchOutProduct 字段qty 如果向表qty 插入的数据是 比如:(—10)不允许插入, (10)这样的就允许插入 数字是变动的,只要带有‘-’就不允许 不让保存。这张单据是两个表组成的,不知道写触发器还要不要考虑另一个表PurchOutbase


------解决方案--------------------
qty 字段上加check 约束来的更快更直接些。


SQL code
ALTER TABLE PurchOutProductADD CONSTRAINT ck_qty_PurchOutProduct CHECK (qty >=0);GOALTER TABLE PurchOutbaseADD CONSTRAINT ck_qty_PurchOutbase CHECK (qty >=0);GO
------解决方案--------------------
SQL code
用检查就行了Create table PurchOutProduct(Qty int check (Qty>0))
------解决方案--------------------
触发器这样实现



SQL code
Create table PurchOutProduct(Qty int)goCreate trigger tr_PurchOutProduct on PurchOutProductfor insertasif exists(select 1 from inserted  where Qty<=0)    rollback tran
------解决方案--------------------
SQL code
Create trigger tr_PurchOutProduct on PurchOutProductfor insertasinsert into PurchOutProduct select * from  inserted where not exists (select 1 from inserted where qty<0)
  相关解决方案