这是我的代码!里面有输出语句,但是不能输出,显示匿名块完成,我用的Oracle 11g
create or REPLACE procedure test_pro (eno number,tipinfo in out varchar2) --如果过程中没有对参数指定类型,默认是in
as
empsal number (5,0) default 0; --保存工资
begin
DBMS_OUTPUT.PUT_LINE(tipinfo); --作为输入参数,取出其中的值
select sal into empsal from emp where empno=eno;
tipinfo:='工资是:'||empsal;--被赋值是因为该变量是一个输出参数 out 也可以是输入参数 in
end;
--调用函数同常使用select 语句,调用过程使用call 语句
/*
带输出参数的存储过程必须通过PL/SQL 块来进行调用,
原因是输出参数必须在declare的声明中定义
*/
declare
tip varchar2 (100) default 'Hello World';
begin
TEST_PRO (7788,tip);
DBMS_OUTPUT.PUT_LINE(tip); --打印出在过程中被改变后的值
end;