我在TABLE1的INSERT触发器之前或之后在TABLE2上使用SELECT。 选择获取varchar,日期和整数值。 仅返回varchar。其他所有值均设置为NULL。
DECLARE d_enl date;
DECLARE d_liv date;
DECLARE d_trace_enl date;
DECLARE d_trace_liv date;
DECLARE ecart_enl int;
DECLARE ecart_liv int(8);
DECLARE h_min varchar(8);
DECLARE h_max varchar(8);
SELECT D_ENL, D_LIV INTO d_enl, d_liv FROM refer WHERE K_REFER = NEW.K_REFER;
SELECT H_LIV_MIN, H_LIV_MAX INTO h_min, h_max FROM refer WHERE K_REFER = NEW.K_REFER;
SELECT ECART_ENL INTO ecart_enl FROM refer WHERE K_REFER = NEW.K_REFER;
K_REFER是PRIMARY UNIQUE KEY,因此仅返回一行。 我尝试了对所有字段进行选择,对每种类型进行选择,甚至使用SET var1 =(SELECT Field1 FROM ... WHERE)按变量进行选择。
相同的结果:设置了h_min和h_max(varchar)。其他变量为空。当然,所选记录中的任何字段都不为空。
答案 0 :(得分:0)
我认为问题出在变量名上。看来它们不区分大小写?因此查询对与字段名称相同的变量感到困惑。