db2如何调用带out参数的存储过程
db2如何调用带out参数的存储过程?用call调用好像不行,关键是参数怎么办?我刚测试了一下declarecntinteger;callp_test(cnt);这样会报...
db2如何调用带out参数的存储过程?用call调用好像不行,关键是参数怎么办?我刚测试了一下
declare cnt integer;
call p_test(cnt);
这样会报错,
begin
declare a integer;
call asus.p_t(a);
end;
这样也不行,请问在db2里面怎么调用这个带out参数存储过程. 展开
declare cnt integer;
call p_test(cnt);
这样会报错,
begin
declare a integer;
call asus.p_t(a);
end;
这样也不行,请问在db2里面怎么调用这个带out参数存储过程. 展开
3个回答
展开全部
declare 出参变量1 ...;
出参变量2...;
.....;
出参变量N...;
begin
过程(入参1,入参2,...,入参N,出参1,出参2,...,出参N);
end;
/
出参变量2...;
.....;
出参变量N...;
begin
过程(入参1,入参2,...,入参N,出参1,出参2,...,出参N);
end;
/
追问
老大,你这是oracle的用法,我已经试了,不行的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-09-03
展开全部
db2 => CREATE PROCEDURE HelloWorld2 ( \
db2 (cont.) => IN vUserName VARCHAR(10), \
db2 (cont.) => OUT vOutValue VARCHAR(10), \
db2 (cont.) => INOUT vInOutValue VARCHAR(10)) \
db2 (cont.) => LANGUAGE SQL \
db2 (cont.) => BEGIN \
db2 (cont.) => INSERT INTO test_helloworld \
db2 (cont.) => VALUES('Hello ' || vUserName || vInOutValue); \
db2 (cont.) => SET vOutValue = 'A'; \
db2 (cont.) => SET vInOutValue = 'B'; \
db2 (cont.) => END
DB20000I SQL 命令成功完成。
db2 => truncate table test_helloworld IMMEDIATE
DB20000I SQL 命令成功完成。
db2 => BEGIN \
db2 (cont.) => DECLARE p_outval VARCHAR(10); \
db2 (cont.) => DECLARE p_inoutval VARCHAR(10); \
db2 (cont.) => SET p_inoutval = '~Hi~'; \
db2 (cont.) => call HelloWorld2('Edward', p_outval, p_inoutval); \
db2 (cont.) => INSERT INTO test_helloworld VALUES('p_outval=' || p_outval); \
db2 (cont.) => INSERT INTO test_helloworld VALUES('p_inoutval=' || p_inoutval)
; \
db2 (cont.) => END
DB20000I SQL 命令成功完成。
db2 => select * from test_helloworld
DATA
--------------------
Hello Edward~Hi~
p_outval=A
p_inoutval=B
3 条记录已选择。
是不是你没有加 begin 和 end 啊?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询