dbms_output.put_line(x);
这只是将x的值进行输出,
定义out型参数类型,返回结果
如:
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE Procdemo(col1 IN varchar2,col2 out varchar2 ) AS
  v_String1   VARCHAR2(50) := 'Hello World!';
BEGIN
  col2 := col1||'is col2';
  DBMS_OUTPUT.PUT_LINE(col1);
END Procdemo;
/

解决方案 »

  1.   

    SQL> create or replace function testfu (i number)
      2  return varchar2
      3  as
      4  begin
      5    if i>10 then
      6      return 'enter value large ten';
      7    else
      8      return 'enter value less ten';
      9    end if;
     10  end;
     11  /Function created.Elapsed: 00:00:09.23
    SQL> commit;Commit complete.Elapsed: 00:00:00.40
    SQL> set serveroutput on
    SQL> declare
      2     x varchar2(1000);
      3  begin
      4     x :=testfu(1);
      5    dbms_output.put_line(x);
      6  end;
      7  /
    enter value less tenPL/SQL procedure successfully completed.Elapsed: 00:00:00.71
    SQL>
      

  2.   

    函数在Ado中没有办法调用啊。在Vc中调用函数可以,
    m_pConnection->Execute("GET_FUNC_FORWARD(187475,'企务',50)",&ra,adCmdStoredProc);
    最后一个参数就是指的语句是执行的一个函数,的确没有函数的定义。
    也就是说,无法调用函数。
    请问:有解决办法吗?