条件约束

u010535898 2014-09-20 09:27:15
货品资料表如下:
prd_no up_max
5200703 1.7
6300509 2.1
5700626 0.8
........................................
..........................................



采购单字段如下
prd_no up
怎样实现录入采购单时对应的prd_no的up值大于up_max不能保存
...全文
144 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaodongni 2014-09-21
  • 打赏
  • 举报
回复
引用 7 楼 u010535898 的回复:
不知道那个if条件怎写
if exists (select up_max from inserted as a join tablename as b on a.prd_no=b.prd_no and a.up_max>b.up_max) rollback --建议你搜下INSERTED表 看看例子就懂了
u010535898 2014-09-21
  • 打赏
  • 举报
回复
不知道那个if条件怎写
knife_s 2014-09-21
  • 打赏
  • 举报
回复
只能后台的话,加触发器,大于则抛出异常

create trigger trigger_update
on test_updaterecord
for update
as
begin
 if 这里进行判断
 begin
    rollback transaction
 end
end
u010535898 2014-09-20
  • 打赏
  • 举报
回复
那就当做是后台插入吧
xiaodongni 2014-09-20
  • 打赏
  • 举报
回复
引用 2 楼 u010535898 的回复:
采购单是采购员录入的,但是要求采购员在下采购单输入单价时如果大于该货品的up_max不允许存盘
这个不是后台判断 是前台判断的啊。你用SELECT 把数据库里面对应的UP_MAX取出来。然后和采购员的进行比较不就OK。 如果大于就弹对话框提醒。小于就写入数据库 不就好了? 感觉和数据库没啥关系啊
xiaodongni 2014-09-20
  • 打赏
  • 举报
回复
要是数据库用触发器。插入之前验证。
u010535898 2014-09-20
  • 打赏
  • 举报
回复
采购单是采购员录入的,但是要求采购员在下采购单输入单价时如果大于该货品的up_max不允许存盘
xiaodongni 2014-09-20
  • 打赏
  • 举报
回复
录入不是数据库层次啊是前台录入。你录入的把对应的PRD_NO的UP_MAX取出来 和用户录入的比较下不就好了?

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧