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 啊?
本回答被提问者采纳