在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;
你有什么想法吗?
答案 0 :(得分:2)
set @p = now();
?对于这类事情,mysql不需要从dual中选择。