0
这是动态选择查询SP,如果该值不为空,它将包含在where子句中否则不包含。在存储过程中动态更新
create or replace PROCEDURE GET_STORE(
_storeId IN NUMBER DEFAULT NULL,
_storename IN VARCHAR2 DEFAULT NULL,
_return_Result OUT SYS_REFCURSOR
)AS
BEGIN
OPEN _return_Result FOR
SELECT S.* FROM STORE S
WHERE (NVL(_storeId,0) =0 OR S.STOREID=_storeId)
AND (_storename IS NULL OR S.STORENAME=_storename);
END RD_CITY;
我们如何才能做到同样的事情更新,意味着更新那些非空的列。
这个过程是非常聪明的,但它有一个微小的dsadvantage - 它阻止是使用任何指标的优化器,始终做一次全表扫描,每次更新。 – krokodilko