如何在pl/sql脚本中调用自定义函数?
2个回答
展开全部
1.回复二楼的,函数是能够返回boolean型的
2.你要看显示结果,得去PL的outpu窗口看。你运行了试一下
2.你要看显示结果,得去PL的outpu窗口看。你运行了试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行没有问题?
你这个
Tisubsection.aename%TYPE
的
Type
到底是什么?
如果是
VARCHAR2,我用
select
CheckUser('ABC')
from
dual
根本就没法执行,说是
“(Error):
ORA-06552:
PL/SQL:
Statement
ignored
ORA-06553:
PLS-382:
表达式类型错误”哦。
检查一下你的字段类型吧。
另外,我上网查了一下,Function
的返回值,似乎不支持
Boolean,我把你的函数返回值类型改一下,就没有任何问题了。
CREATE
OR
REPLACE
FUNCTION
checkuser
(f_user
tisubsection.aename%TYPE)
RETURN
VARCHAR2
--函数返回类型
IS
v_usercount
NUMBER;
BEGIN
SELECT
COUNT
(aename)
INTO
v_usercount
FROM
tisubsection
WHERE
aename
=
f_user;
IF
(v_usercount
>
0)
THEN
RETURN
1;
ELSE
RETURN
0;
END
IF;
END
checkuser;
SELECT
checkuser('abc')
FROM
dual;
你这个
Tisubsection.aename%TYPE
的
Type
到底是什么?
如果是
VARCHAR2,我用
select
CheckUser('ABC')
from
dual
根本就没法执行,说是
“(Error):
ORA-06552:
PL/SQL:
Statement
ignored
ORA-06553:
PLS-382:
表达式类型错误”哦。
检查一下你的字段类型吧。
另外,我上网查了一下,Function
的返回值,似乎不支持
Boolean,我把你的函数返回值类型改一下,就没有任何问题了。
CREATE
OR
REPLACE
FUNCTION
checkuser
(f_user
tisubsection.aename%TYPE)
RETURN
VARCHAR2
--函数返回类型
IS
v_usercount
NUMBER;
BEGIN
SELECT
COUNT
(aename)
INTO
v_usercount
FROM
tisubsection
WHERE
aename
=
f_user;
IF
(v_usercount
>
0)
THEN
RETURN
1;
ELSE
RETURN
0;
END
IF;
END
checkuser;
SELECT
checkuser('abc')
FROM
dual;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询