2013-10-05 99 views

回答

4

像这样的东西是你追求的

CREATE OR REPLACE PROCEDURE p2 
AS 
    -- Do not use the `DECLARE` keyword 
    -- Variables must be defined at the top of the block 
    v_id pls_integer; 
BEGIN 
    <<do stuff>> 

    -- Just call the procedure. No need for `EXEC`. 
    -- There is also no need to indicate that a parameter is an OUT parameter in the call 
    p1(v_name, v_id); 
END; 

有几件事情需要注意的

  • 变量在定义块的顶部(在ASBEGIN之间),而不是内联定义。你可以在你的过程中创建嵌套的PL/SQL块,你声明的变量的作用域就是嵌套块而不是过程,但我忽略了这种可能性。
  • 在PL/SQL中,您不需要任何关键字来指示过程调用。只需调用它。
  • 您无需指出参数是OUT参数(或IN OUT)。这是你所调用的程序定义的。