在 MySQL 过程中,我想将 current_timestamp+0 设置为一个变量并在查询中使用这个变量。
编辑:我需要@P_version 在整个过程中保持相同的值。我想在开始时获取当前时间戳并在所有查询中使用这个值。
我试过:
BEGIN
DECLARE P_version float;
SET P_version = current_timestamp +0;
insert INTO reports_4.Items(id, version, itype)
Select I.id, P_version, I.itype from Items where I.live = 1;
.....
END;
和:
BEGIN
BEGIN
SET @P_version = 'select current_timestamp +0 from dual';
PREPARE query from @P_version;
EXECUTE query;
DEALLOCATE prepare query;
END;
insert INTO reports_4.Items(id, version, itype)
Select I.id, P_version, I.itype from Items where I.live = 1;
.....
END;
如果我使用以下内容,当我第二次调用我的过程时,@P_version 的值与我第一次运行该过程时的值相同。
BEGIN
select @P_version = current_timestamp +0 from dual;
insert INTO reports_4.Items(id, version, itype)
Select I.id, @P_version, I.itype from Items where I.live = 1;
.....
END;
你有想法吗?