sql server:
TTG_SVCPrice是标准价格,同一产品不同的省份不同的价格
TTQ_StandardSVC 是每一个单子的记录,价格从标准价格那边读进来,单子的省份变了,则要从标准价格那边重新更新价格写入TTQ_StandardSVC update TTQ_StandardSVC set unitprice=price*@Rate from TTG_SVCPrice
where TTQ_StandardSVC.popno=@POPNo
and TTQ_StandardSVC.svcid=TTG_SVCPrice.svcid
and TTG_SVCPrice.provinceid=@ProvinceID转成oracle:
我这样写总感觉不对啊update TTQ_StandardSVC set unitprice=p_Rate*(select price from TTG_SVCPrice where popno=p_POPNo and TTQ_StandardSVC.svcid=TTG_SVCPrice.svcid and TTG_SVCPrice.provinceid=p_ProvinceID )
where TTQ_StandardSVC.popno=p_POPNo;
TTG_SVCPrice是标准价格,同一产品不同的省份不同的价格
TTQ_StandardSVC 是每一个单子的记录,价格从标准价格那边读进来,单子的省份变了,则要从标准价格那边重新更新价格写入TTQ_StandardSVC update TTQ_StandardSVC set unitprice=price*@Rate from TTG_SVCPrice
where TTQ_StandardSVC.popno=@POPNo
and TTQ_StandardSVC.svcid=TTG_SVCPrice.svcid
and TTG_SVCPrice.provinceid=@ProvinceID转成oracle:
我这样写总感觉不对啊update TTQ_StandardSVC set unitprice=p_Rate*(select price from TTG_SVCPrice where popno=p_POPNo and TTQ_StandardSVC.svcid=TTG_SVCPrice.svcid and TTG_SVCPrice.provinceid=p_ProvinceID )
where TTQ_StandardSVC.popno=p_POPNo;
update (select s.unitprice, p.price from TTG_SVCPrice p, TTQ_StandardSVC s
where p.provinceid=v_ProvinceID and s.popno=p_POPNo
and s.svcid=p.svcid)
set unitprice=price*v_Rate;
where TTQ_StandardSVC.popno=@POPNo
and TTQ_StandardSVC.svcid=TTG_SVCPrice.svcid
and TTG_SVCPrice.provinceid=@ProvinceID
oracle不支持此种语句更新操作。。可以用子查询进行更新操作。。
有时候感觉比较晕