PL/SQL 使用函数从 table 中读取行数据
PL/SQL Read Row Data From table from using Functions
嗨,我是 pl/sql 的新手,我在从我的 table 获取 return 数据时遇到问题,我不知道该怎么做处理我在浏览网页时尝试过的所有建议,但无法理解它们来解决我的问题
我创建的函数接受一个 ID 参数,该参数用于 return 匹配此参数的学生姓名。
CREATE OR REPLACE function getName(ID in INTEGER)
RETURN varchar2
IS id_name varchar2(25);
BEGIN
SELECT NAME INTO id_name from student
where ID = getName.ID;
RETURN (id_name);
END;
该函数编译没有任何问题,但是当我尝试 运行 具有 ID 值的函数时,我知道是学生 table,如下所示:
BEGIN
getName(2020001);
END;
我收到一条 pls-00103 错误消息,我不知道该怎么做才能获得从学生那里读取数据的功能table我创建了任何帮助将不胜感激
如果要调用 PL/SQL 中的函数,通常需要声明一个变量来存储 return 值。你可能想对结果做一些事情,即使它只是使用 dbms_output
来(可能)将它写入控制台
declare
l_name student.name%type;
begin
l_name := getName(2020001);
dbms_output.put_line( 'The name is : ' || l_name );
end;
/
或者您可以在 SQL 语句中使用函数
select getName(2020001)
from dual
嗨,我是 pl/sql 的新手,我在从我的 table 获取 return 数据时遇到问题,我不知道该怎么做处理我在浏览网页时尝试过的所有建议,但无法理解它们来解决我的问题
我创建的函数接受一个 ID 参数,该参数用于 return 匹配此参数的学生姓名。
CREATE OR REPLACE function getName(ID in INTEGER)
RETURN varchar2
IS id_name varchar2(25);
BEGIN
SELECT NAME INTO id_name from student
where ID = getName.ID;
RETURN (id_name);
END;
该函数编译没有任何问题,但是当我尝试 运行 具有 ID 值的函数时,我知道是学生 table,如下所示:
BEGIN
getName(2020001);
END;
我收到一条 pls-00103 错误消息,我不知道该怎么做才能获得从学生那里读取数据的功能table我创建了任何帮助将不胜感激
如果要调用 PL/SQL 中的函数,通常需要声明一个变量来存储 return 值。你可能想对结果做一些事情,即使它只是使用 dbms_output
来(可能)将它写入控制台
declare
l_name student.name%type;
begin
l_name := getName(2020001);
dbms_output.put_line( 'The name is : ' || l_name );
end;
/
或者您可以在 SQL 语句中使用函数
select getName(2020001)
from dual