小编rob*_*rob的帖子

PL/SQL 函数返回 varchar2/numbers

我有这个接受学生姓名 (f_name) 的 PL/SQL 函数。然后,该函数从名为 student 的预制表中显示给定学生的所有信息。该表包含 5 列、2 个数字类型和 3 个 varchar2 类型。如果在表中找不到该名称,则会返回一条错误消息。到目前为止我的代码是

CREATE OR REPLACE FUNCTION studentName(
    f_name IN VARCHAR2)
  RETURN
IS
  v_test students%rowtype;
  CURSOR c1
  IS
    SELECT * FROM students WHERE first_name = f_name;
BEGIN
  OPEN c1;
  FETCH c1 INTO v_test;
  IF c1%notfound THEN
    v_test := NULL;
  END IF;
CLOSE c1;
RETURN v_test;
END;
Run Code Online (Sandbox Code Playgroud)

我不断得到:

PLS-00382: 表达式类型错误

我相信从我最初的 return varchar2 声明。如何允许返回同时接受 varchar2 类型和数字类型?

sql oracle plsql rowtype

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

oracle ×1

plsql ×1

rowtype ×1

sql ×1