这应该可以工作,但是我却以某种方式出错。我想从表中获取学分列并将其乘以100。问题是获取给定学生ID和年份的学分数量并获得总付款。假设每笔赠送金额为$ 100。
_init_
答案 0 :(得分:1)
这是不正确的:
select ('No result found for student ID: ', stuID, ' at year: ', stuYear)
一个select语句可以包含多个列,但是您不应该将它们括在括号中。另外,这将返回多个值,您无法在单个消息中选择它们。
所以,我想您想将这些值合并为一个值。您可以使用concat
函数来做到这一点,就像这样:
select concat('No result found for student ID: ', stuID, ' at year: ', stuYear)
顺便说一句,使用concat函数的常规分配也应在触发器中起作用:
SET msg = concat('No result found for student ID: ', stuID, ' at year: ', stuYear);
PS:在下一条语句中,您还会得到括号:(credits * 100)
在这种情况下,由于它是单个表达式,因此它偶然会起作用。不过,它们没有任何功能价值,因此不妨将其删除。