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>
所以我试图创建一个函数
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>