【发布时间】:2017-10-30 20:29:24
【问题描述】:
在 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;
你有什么想法吗?
【问题讨论】: