ORACLE中的函数

Function in ORACLE

所以我试图创建一个函数

Edit: Deleted this and created a new code

我收到错误警告:创建的函数存在编译错误。 所以指导会很有帮助。如果你能告诉我如何执行它,我会很有帮助

编辑:为return同样的错误创建了一个新代码

CREATE OR REPLACE FUNCTION EmpNoFunc(p_empno IN Employee01.EmpNo%TYPE)
RETURN VARCHAR2
IS Emp_Detail VARCHAR2(130);
BEGIN
SELECT 'E_Name-'|| Employee01.EName ||,
'Job-'|| Employee01.Job ||, 'Hired-'|| Employee01.HiredDate ||,
INTO Emp_Detail
FROM Employee01
WHERE EmpNo = p_empno;
RETURN(Emp_Detail);
END EmpNoFunc;
/

错误是 -

5/1      PL/SQL: SQL Statement ignored
5/39     PL/SQL: ORA-00936: missing expression

但是好像无法解决

你很接近; table 上的工作示例类似于您的(Scott 的 EMP):

SQL> CREATE OR REPLACE FUNCTION empnofunc (p_empno IN emp.empno%TYPE)
  2     RETURN VARCHAR2
  3  IS
  4     emp_detail  VARCHAR2 (130);
  5  BEGIN
  6     SELECT    'EName-'
  7            || e.ename
  8            || ', Job-'
  9            || e.job
 10            || ', Hired-'
 11            || e.hiredate
 12       INTO emp_detail
 13       FROM emp e
 14      WHERE e.empno = p_empno;
 15
 16     RETURN (emp_detail);
 17  END empnofunc;
 18  /

Function created.

SQL> SELECT empnofunc (empno) result
  2    FROM emp
  3   WHERE empno = 7369;

RESULT
-----------------------------------------------------------------------------
EName-SMITH, Job-CLERK, Hired-17.12.80

SQL>