当前位置:数据库 > Oracle >>

oracle中调用存储过程时传递参数值的3种方式。。

答案:IN、OUT、IN OUT 这3种方式么? SQL> CREATE OR REPLACE PROCEDURE HelloWorld2 ( 2 p_user_name IN VARCHAR2, 3 p_out_val OUT VARCHAR2, 4 p_inout_val IN OUT VARCHAR2 5 ) AS 6 BEGIN 7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!'); 8 p_out_val := 'A'; 9 p_inout_val := 'B'; 10 END HelloWorld2; 11 / Procedure created. SQL> DECLARE 2 p_outval VARCHAR2(10); 3 p_inoutval VARCHAR2(10) := '~Hi~'; 4 BEGIN 5 HelloWorld2('Edward', p_outval, p_inoutval); 6 7 dbms_output.put_line('p_outval=' || p_outval); 8 dbms_output.put_line('p_inoutval=' || p_inoutval); 9 END; 10 / Hello Edward~Hi~! p_outval=A p_inoutval=B PL/SQL procedure successfully completed.
其他:不明白?
你是指 IN OUT么? 拿scott下emp表来说吧
1直接赋值
   v_ename emp.emame%type:=’aaa‘;
2通过select into 赋值
  declare
        v_ename emp.ename%type;
    begin
        select ename into v_ename from emp;
3从键盘输入
  declare
        v_ename emp.ename%type;
    begin
        v_ename:=&请输入员工姓名; 应该就是这三种吧。
1 , IN   (参数值传过来给存储过程使用)
2, OUT(存储过程返回结果给该参数)
3. IN OUT(存储过程调用该参数的同时,最后还返回结果给调用的参数) 

上一个:oracle函数个存储过程的区别
下一个:oracle的存储过程和包有什么区别,分别在什么情况下使用啊

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,