最近有个项目,研究了一下触发器,觉得挺好玩的。便在数据库里写了5-6的触发器。
自己测试的时候,还没有报错。可是在对表进行操作的时候就报错了。经过相关的排查才找到相关的错误。
1.触发器不能随便的写。
2.当写触发器对一个表进行操作的时候,其他对这张表的操作必须全部停止。不然会提示错误。
3.不到万不得以。不要写触发器,不然,以后维护起来会很麻烦。
另外再附上已个经典sql
SELECT c.name,
u.user_department_name,
u.check_time,
a.soft_assets_code,
a.purchase_sum,
a.soft_name,
a.user_money,
a.charging_standard,
a.renew_day,
a.SOFTWARE_YEAR_OLD,
a.DEPRECITION_MONEY,
(select count(*) from use_distribute ud where ud.soft_assets_code=u.soft_assets_code ) as count //能够查出来soft_assets_code 相同的数量
from use_distribute u, company c, department d, assets_import a
WHERE u.user_department = d.id
and d.c_id = c.id
and u.state = 'C'
and a.soft_assets_code = u.soft_assets_code
and a.software_state != 1