這是我第一次嘗試編寫Oracle過程,並以DBMS_OUTPUT.PUT_LINE
行爲中心收到錯誤(在問題標題中顯示)。PLS-00306:調用'PUT_LINE'時參數的錯誤數量或類型
我在線閱讀,它只能回傳VARCAHR2
列,所以我只投了兩個非VARCHAR2
列被訪問,但我仍然得到錯誤。當我嘗試直接在oracle SQL Developer中運行它時發生這個錯誤。
CREATE OR REPLACE PROCEDURE LOGGING_PRC
(
STARTDATE_IN IN VARCHAR2,
ENDDATE_IN IN VARCHAR2,
NAMES_IN IN VARCHAR2,
MODS_IN IN VARCHAR2,
LOGS_IN IN VARCHAR2,
ID_OUT OUT VARCHAR2,
NAME_OUT OUT VARCHAR2,
MODULE_OUT OUT VARCHAR2,
ENTRYDATE_OUT OUT VARCHAR2,
STATUS_OUT OUT VARCHAR2,
TYPE_OUT OUT VARCHAR2
)
AS
BEGIN
SELECT
CAST(ID_LOG AS VARCHAR2(16)),
APNAME,
APPMOD,
CAST(ENTRYDATE AS VARCHAR2(30)),
APPSTATUS,
LOGTYPE
INTO
ID_OUT,
NAME_OUT,
MODULE_OUT,
ENTRYDATE_OUT,
STATUS_OUT,
TYPE_OUT
FROM
BASE
WHERE
ENTRYDATE > STARTDATE_IN AND
ENTRYDATE < ENDDATE_IN AND
(NAMES = NAMES_IN OR NAMES_IN IS NULL) AND
(MODS = MODS_IN OR MODS_IN IS NULL) AND
(LOGS = LOGS_IN OR LOGS_IN IS NULL);
RETURN;
DBMS_OUTPUT.PUT_LINE(ID_OUT, NAME_OUT, MODULE_OUT, ENTRYDATE_OUT, STATUS_OUT, TYPE_OUT);
END LOGGING_PRC;
有人看到我的代碼不正確嗎?
的[語法](http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_output.htm#ARPLS67327)顯示,只需要一個字符串參數,而不是一個列表。 –