0
我有以下Oracle存儲過程。無論是子代碼還是stylecode都會被傳入。目前,如果值不爲空,它將更新行。我想添加邏輯,以便僅在表格中存在行時進行更新,如果不存在,我喜歡打印「子代碼xxxx不存在」或「stylecode xxxx不存在」之類的消息。我不認爲這裏融入作品。如果存在記錄,Oracle存儲過程更新行
create or replace PROCEDURE "REMOVE_PRICES"
(
RESULT OUT VARCHAR2
, STYLECODE_ IN NUMBER
, SUBCODE_ IN NUMBER
) AS
BEGIN
IF (SUBCODE_ is null AND STYLECODE_ is null)
THEN
raise_application_error(-20005, 'ERROR: Please provide either SUBCODE or STYLECODE!');
END IF;
IF SUBCODE_ IS NOT NULL THEN
UPDATE prices
SET type = null
WHERE subcode=SUBCODE_;
RESULT := SQL%ROWCOUNT || ' price for subcode ' || SUBCODE_ || ' is removed';
ELSIF STYLECODE_ IS NOT NULL THEN
UPDATE prices
SET type = null
WHERE stylecode=STYLECODE_;
RESULT := SQL%ROWCOUNT || ' price for stylecode ' || STYLECODE_ || ' is removed';
END IF;
END REMOVE_PRICES;
你就不能決定顯示基於SQL%ROWCOUNT是否是消息零還是非零? –
謝謝亞歷克斯。我被矇蔽了。:) – user2482822