我从不同的表中创建了一个视图,在这个视图中有:
`name, surname, id, organization, beginDate, endDate`
仅当在源表中此值为 null 时才会获取endDate
。如果它有一个值,意味着这个人不再在他的组织中,所以我使用这个值来知道我必须在我的视图中加载哪一行。
(同样,如果值不为null,则视图中不再存在该行)
从这个视图中,我需要创建一个表,其中存储过程每晚都可以运行:
name, surname, id, organization, beginDate, whenChanged, disabled
第一次,此表是视图的精确副本,包含所有
whenChanged = current_timestamp and all disabled=flase
视图中的值应该相同,如果视图中的一个或多个属性发生更改,则whenChanged是使用current_timestamp
更新的时间戳。
如果视图中仍然存在该行,则禁用值(布尔值)应为false;如果视图中不再有该行,则该值应为true(在源表中它具有非空endDate
并且它是没有从视图中获取)
有任何帮助吗?
答案 0 :(得分:0)
非常抱歉,我在移动设备上并且“输入”有一个奇怪的行为......顺便说一句,我不完全确定我应该使用触发器,因为我必须在许多表格和一些表格中执行此操作,没有钥匙。
例如,我有一个表分配:
Id1,startDate,endDate not null,organization Id1,startDate2,null,组织 ......
触发器会在此表上运行吗?我需要更新另一个表,其中包含来自赋值的数据,仅当id匹配且另一个id行为null endDate时。如果具有该id的每一行的endDate不为null,则表示我必须设置禁用值。
此外,触发器是否与视图一起使用?如果我的视图有变化,是否可以在我的表上定义更新该表的触发器?我想不是......