1
在MySQL過程中,我想將current_timestamp + 0設置爲變量並在查詢中使用此變量。使用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;
你有什麼想法嗎?
如果我只是把SET @P_version = now(); 它說:錯誤1054(42S22):'字段列表'中的未知列'P_version' – arsenik
它將不得不在'選擇i.id,@P_version,...'後面。 Vars ** HAVE **以@開頭,否則mysql將無法區分真正的var和什麼是具有相同名稱的字段/表名稱。 –
Thank you it works,I do:set'@P_version = current_timestamp +0;'然後在查詢中使用'@P_version' – arsenik