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