这里我创建了一个过程,条件是聘用日期应该小于系统日期。它显示了一个错误。如何解决这个错误?
CREATE OR REPLACE PROCEDURE employees (hire_date IN NUMBER) IS
BEGIN
IF hire_date < SYSDATE THEN
INSERT INTO emp (emp_id,
emp_name,
email,
phone_number,
hire_date,
job_id,
sal)
VALUES (empinc.NEXTVAL,
'ravi',
'ravi@gmail.com',
'6578940983456',
'08/09/2021',
'JUN_TECH',
60000);
ELSE
DBMS_OUTPUT.PUT_LINE('failed');
END IF;
END;
/
1条答案
按热度按时间cuxqih211#
sysdate
是一个返回date
数据类型值的函数。不能将其与数字(hire_date
参数的数据类型)进行比较。应该是
或者(虽然这是错误的)类似这样的代码(这取决于您为
hire_date
使用的格式;我选择了yyyymmdd
):