sql - ORACLE 中的函数
问题描述
所以我试图创建一个函数
Edit: Deleted this and created a new code
我收到错误警告:函数创建时出现编译错误。所以指导会很有帮助。如果您能告知如何执行它,我会很有帮助
编辑:创建了一个新代码以返回相同的错误
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
但似乎无法解决。
解决方案
你很近;一个类似于你的桌子上的工作示例(斯科特的 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>
推荐阅读
- delphi - Win32/64 中 Math.Sum 的不同优化
- javascript - 使用 Webpack 4 在 ReactJs 项目中设置公共路径
- php - 如何在具有 3 个用户角色的 codeigniter 上进行良好的多级登录
- sql - 1 列引用,多表,可以吗?
- windows - 当系统字体大小增加时,如何将字体大小更改为特定 Eclipse-RCP 应用程序的 100%
- android - 多模块项目中的房间数据库
- shell - 在adb shell中,执行exit命令会杀死android Q系统中的后台脚本
- c# - 提取列表中相同数字的前 10 个条目
使用 foreach 循环 - python - 如何在python中打开parquet(二进制数据类型)文件而不会出现RAM错误?
- crystal-lang - 如何将 Int32 转换为带有前导 0x 的字符串(以 16 为基数)?