从varchar转换为数字时出错

时间:2018-12-09 22:28:16

标签: sql sql-server database-trigger historical-db

我创建了一个历史表以及在引用表中内置的触发函数。基于用户可能更改的名称以及记录下来的日期。

我的触发器已建立:

enter image description here

目标表:

enter image description here

触发函数将名称从表中拉出。

enter image description here

但是我在转换数据类型时遇到错误。我要更新的所有数据均为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) 类型。我在哪里失踪?

1 个答案:

答案 0 :(得分:0)

INSERT..VALUES语句更改为INSERT..SELECT并为所有列设置别名。确保别名与目标表中的每一列匹配(默认为所有NOT NULL列),并且它们的名称与声明的顺序相同。 请注意,SELECT语句使用patientLastNameChange表,因为没有MAX()的{​​{1}}确保仅返回一行。 如果返回GROUP BY,建议使用COALESCEMAX()的结果设置为0。然后只需添加NULL就可以增加1。我认为这更具可读性。

lastNameChangeID