我创建了一个历史表以及在引用表中内置的触发函数。基于用户可能更改的名称以及记录下来的日期。
我的触发器已建立:
目标表:
触发函数将名称从表中拉出。
但是我在转换数据类型时遇到错误。我要更新的所有数据均为my_field = Field(values, segment, grid)
print(grid[segment]) # [2.5, 3.5, 4.5]
print(my_field[2]) # 42.0
print(my_field[3]) # 43.0
print(my_field[0]) # IndexError: Key must be in range(2, 5)
类型。我在哪里失踪?
答案 0 :(得分:0)
将INSERT..VALUES
语句更改为INSERT..SELECT
并为所有列设置别名。确保别名与目标表中的每一列匹配(默认为所有NOT NULL
列),并且它们的名称与声明的顺序相同。
请注意,SELECT
语句使用patientLastNameChange
表,因为没有MAX()
的{{1}}确保仅返回一行。
如果返回GROUP BY
,建议使用COALESCE
将MAX()
的结果设置为0
。然后只需添加NULL
就可以增加1
。我认为这更具可读性。
lastNameChangeID