Oracle 自由错误语法,但它保留错误(plsql中的函数)

Oracle 自由错误语法,但它保留错误(plsql中的函数),oracle,function,plsqldeveloper,Oracle,Function,Plsqldeveloper,在这个函数中,我正在创建一个集合,这个函数将选择工资超出最大和最小工资范围的员工的ID,并返回该集合中的ID,我认为语法是正确的,但它一直给我两个下划线:第一行(如表所示)和第二行(创建)* *错误:键入HR.ID_TABLE@HR错误(4,1):PLS-00103:遇到符号“创建”。* 你知道为什么会这样吗 CREATE TYPE id_table AS TABLE OF NUMBER; CREATE OR REPLACE FUNCTION min_max RETURN id_table

在这个函数中,我正在创建一个集合,这个函数将选择工资超出最大和最小工资范围的员工的ID,并返回该集合中的ID,我认为语法是正确的,但它一直给我两个下划线:第一行(如表所示)和第二行(创建)*

*错误:键入HR.ID_TABLE@HR错误(4,1):PLS-00103:遇到符号“创建”。*


你知道为什么会这样吗

CREATE TYPE id_table AS TABLE OF NUMBER;

CREATE OR REPLACE FUNCTION min_max RETURN id_table AS
l_emp_list id_table;
BEGIN
SELECT e.employee_id 
BULK COLLECT INTO l_emp_list
FROM employees e 
INNER JOIN jobs j ON j.job_id = e.job_id
WHERE e.salary NOT BETWEEN j.min_salary AND j.max_salary;

RETURN l_emp_list;
END;

请帮忙,这样我就可以修好它了。谢谢你试过这个吗

CREATE OR REPLACE TYPE id_table AS TABLE OF NUMBER;

您在哪里执行脚本?

如果您显示了错误,这将非常有帮助,否?请尝试在创建类型之后添加
/
。如果您需要帮助,请显示您的错误。您在哪里执行脚本?如果先创建类型,然后在不同的脚本中创建函数,是否会出现相同的错误?