日期:2014-05-18  浏览次数:20624 次

必输字段控制
数据库SQL2008
表入库单  
 字段为 产品编号、产品名称、规格型号、计量单位、数量、单价、金额 
当产品为 001 开头的 例如 001001,001002 的物料时,规格型号字段必须输入。如果是其他产品的时候,规格型号可以不必输入,怎么控制?

------解决方案--------------------
探讨
程序是通用的,选择性输入的,是个别操作者想有的可以变成必输的。 触发器怎么写呢?

------解决方案--------------------
前台程序判断吧。如果用触发器的话,资源性能消耗。
而 用前台程序的话,
if(num.StartsWith("001"))
{
//判断规格型号,如果为空,则返回false.否则,返回true.
}
------解决方案--------------------
UI要人性化,所以前台UI要有提示;数据输入要有验证,所以UI要检查;但现在做人的底线这么低,所以数据库要有TRIGGER来做最后保证;但我们的原则是“惩前毖后,治病救人”,所以TRIGGER里要RAISEERROR.

所以一个程序体现的是哲学。