怎样在sql语句中oracle调用存储过程
CREATEORREPLACEPROCEDURECALLCENTER_CHECK_CALLERID(MobileINVARCHAR2,idoutVARCHAR2)ASBE...
CREATE OR REPLACE
PROCEDURE CALLCENTER_CHECK_CALLERID(Mobile IN VARCHAR2,id out VARCHAR2)
AS
BEGIN
SELECT "Id" INTO id FROM "User_Info" WHERE "Mobile" = Mobile;
END CALLCENTER_CHECK_CALLERID;
我是在Navicat上调用的 展开
PROCEDURE CALLCENTER_CHECK_CALLERID(Mobile IN VARCHAR2,id out VARCHAR2)
AS
BEGIN
SELECT "Id" INTO id FROM "User_Info" WHERE "Mobile" = Mobile;
END CALLCENTER_CHECK_CALLERID;
我是在Navicat上调用的 展开
2个回答
展开全部
sql语句中只能执行函数,不能执行存储过程。比如
select 函数(参数) from dual
你说的是在Navicat工具里执行存储过程吗?
试试这个
declare
id varcahr2(100);
call CALLCENTER_CHECK_CALLERID(mobile,id);
end;
更多追问追答
追问
就是在Navicat上的查询执行
追答
你这个过程是有out参数的,所以需要用语句块扩起来。上面的写法有问题。应该是这样
没有out参数的,可以直接call
call CALLCENTER_CHECK_CALLERID(入参);
有out参数的的
declare
mobile varchar2(100);
id varcahr2(100);
begin
mobile:='你的入参';
CALLCENTER_CHECK_CALLERID(mobile,id);
end;
你试试看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询