这是我的代码。
Create OR Replace Procedure new_prof
(
Pno IN VARCHAR2,
ProLast_Name IN VARCHAR2,
ProFirst_Name IN VARCHAR2,
Pro_rank IN VARCHAR2,
ProResearch_Specialty IN VARCHAR2,
Pro_DOB IN DATE,
Time_percentage DECIMAL
)
IS
BEGIN
INSERT INTO professors VALUES(Pno,ProLast_Name,ProFirst_Name,Pro_DOB,Pro_rank,ProResearch_Specialty,Time_percentage);
DBMS_OUTPUT.PUT_LINE('New Professors'||Pno||'is successfully created');
END;
/
当我执行代码时,
执行new_prof('P0026','Ronaldo','Christiano',TO_DATE('07 / 25/1978','MM / DD / YYYY'),'Senior','Programming',0.40);
执行此代码后,它显示“在那里的日期找到了非数字字符所在的数字”。
答案 0 :(得分:0)
您传递的参数顺序错误。
为了避免这样的问题,你最好明确地传递参数,而不是依赖它们的顺序。
例如:
begin
new_prof( Pno => 'P0026',
ProLast_Name => 'Ronaldo',
ProFirst_Name => 'Christiano',
Pro_rank => 'Senior',
ProResearch_Specialty => 'Programming',
Pro_DOB => TO_DATE('07/25/1978','MM/DD/YYYY'),
Time_percentage => 0.40
);
end;