Является новым для PL SQL, как мне разрешить неправильное число или типы аргументов pls-00306 при вызове процедуры?pls-00306 неправильное количество или типы аргументов при вызове процедуры
CREATE OR REPLACE PROCEDURE overtime (
Normal_Hours NUMBER ,
Hours_worked NUMBER ,
message VARCHAR2 ,
Overtime IN OUT NUMBER)
AS
Begin
DBMS_OUTPUT.PUT_LINE('ENTER HOURS WORKED' || &hours_worked);
IF hours_worked <=Normal_Hours THEN
DBMS_OUTPUT.PUT_LINE('NO OVETIME WORKED');
ELSE
BEGIN
Overtime := Hours_worked - Normal_Hours;
DBMS_OUTPUT.PUT_LINE('You have worked' || Overtime);
END;
END IF;
END;
/
возможно дубликат [Неправильный номер или типы ошибок аргументов при вызове процедуры] (http://stackoverflow.com/questions/22449128/wrong-number-or-types-of-arguments-error-while- call-procedure) – user272735
Получаете ли вы эту ошибку при вызове 'overtime' или при компиляции' overtime'? Потому что '& hours_worked' может быть источником, так как' & 'может принимать пользовательский ввод во время компиляции и включаться в процедуру, вызывающую странность. –
Компиляция не дает ошибки, возникает ошибка при вызове процедуры. – RaeRay