2つのテーブルの特定の値を更新するストアドプロシージャがあります。しかし、更新すべき議論のリストや価値のセットは10議論に成長し、将来的にはさらに大きくなる可能性がある。どのようにこれを処理することができますか? (格納)プロシージャはn個パラメータを必要とするときストアドプロシージャの引数の長いリストを避けるには?
CREATE DEFINER=`root`@`localhost` PROCEDURE `update_base_plan`(userId int,newPlanId int,nextPlanId int,maxCreditPulseAllocated int)
begin
if userId is not null and newPlanId is not null and nextPlanId is not null
and maxCreditPulseAllocated is not null
then
update planallocation as pa
left join subscriptioninfo as si
on pa.SubscriptionId = si.SubscriptionId
left join plans as pl
on pa.CurrentPlanId = pl.PlanId
set pa.CurrentPlanId = newPlanId, pa.NextPlanId = nextPlanId,
pa.MaxCreditPulseAllocated = maxCreditPulseAllocated
where pl.Plan_Type = 'base' and
si.UserId = userId;
end if;
end$$
DELIMITER ;
MySQLはJSONをサポートしていますか?新しいバージョンの –
はい。しかし、どのバージョンがそれを導入したかわからない。ページのクイックルックは、バージョン5.7にはjsonの機能があることを示唆しています...悲しい; o / – Jakumi