存储过程可以有返回值么?
函数是不是一定有返回值?

解决方案 »

  1.   

    补充一个问题:
    哪些数据库支持 PL/SQL?
      

  2.   

    存储过程的OUT参数可以用于返回需要的值,
    但是没有返回值。函数一定有返回值
      

  3.   

    只有Oracle支持PL/SQL。
    DB2、SqlServer、MySQL等有自己的过程化的SQL语言。
      

  4.   

    正解 
    如果需要返回值的话 建议使用函数 不建议使用带out参数的存储过程
      

  5.   

    我去做了测试CREATE or replace FUNCTION fun_test (st_name IN out VARCHAR2)
       RETURN VARCHAR2
    IS
    BEGIN
       st_name := st_name || st_name;
       RETURN st_name || '123';
    END fun_test;DECLARE
       temp_name   VARCHAR2 (20) := '111';
       tmp         VARCHAR2 (20);
    BEGIN
       tmp := fun_test (temp_name);
       DBMS_OUTPUT.put_line (temp_name);
       DBMS_OUTPUT.put_line (tmp);
    END;结果
    111111
    111111123
      

  6.   

    存储过程的OUT参数可以用于返回需要的值, 
    但是没有返回值。 函数一定有返回值