create procedure pro1(name varchar,v_name out varchar)
is 
begin
v_name:=name;
end;
/create procedure  pro2
is
v_name1 varchar(100);
begin
pro1('wonderful',v_name1);
dbms_output.put_line(v_name1);
end;
/
set serveroutput on
exec pro2;

解决方案 »

  1.   

    这个问题还用问,我给你帖一段:CREATE OR REPLACE PROCEDURE CangLevelHigh(m_strDamPart IN VARCHAR2,
                                              m_strDamBlock IN VARCHAR2,
                                              m_fHeight IN float,--当前坝段坝块的仓的起始高程
                                              m_fLevelHigh OUT float --返回 仓的层厚
    ) AS
      f_BaseHeight float;
      f_TopHeight float;
      f_FinalHeight float;BEGIN
    /***********************************************************/
    /* 中文名称:仓的层厚                                      */
    /* 用途 计算给定坝段、坝块和起始高程的仓的层厚             */
    /* 作者:  xxx                                             */
    /* 时间:      2003-10-08                                  */
    /*                                                         */
    /* 修改日期:  2004-03-09                                  */
    /* 简要说明: 修改约束区判断                               */
    /* 修改人姓名: wangbibo                                    */
    /***********************************************************/--判断当前高程是否脱离约束区  select BASEHEIGHT,restrictedheight  into f_BaseHeight,f_TopHeight 
        from dambasicinfo where dampart = m_strDamPart and damblock = m_strDamBlock;
      if  m_fHeight >= f_BaseHeight and m_fHeight < f_TopHeight then
        m_fLevelHigh := 1.5;
      ELSE
        m_fLevelHigh := 2.0;
      end if;--特殊间歇处理,下面的语句就是调用其它存储过程  SpecialStopProcess(m_strDamPart, m_strDamBlock, m_fHeight, m_fLevelHigh);
      
    --结构拐点处理,下面的语句就是调用其它存储过程  StructTurePoint(m_strDamPart, m_strDamBlock, m_fHeight, m_fLevelHigh);
      
    --灌浆区封闭高程处理,下面的语句就是调用其它存储过程  WaterCloseProcess(m_strDamPart, m_strDamBlock, m_fHeight, m_fLevelHigh);
    --最终高程
      select FINALHEIGHT into f_FinalHeight from dambasicinfo where dampart = m_strDamPart and damblock = m_strDamBlock;
      if (f_FinalHeight - m_fHeight < m_fLevelHigh) then
        m_fLevelHigh := f_FinalHeight - m_fHeight;
      end if;END CangLevelHigh;