CREATE OR REPLACE PACKAGE BODY KF_MSG.fms_into_AutoMsg
AS
PROCEDURE AutoMsg (VV_SMS             OUT VARCHAR2,
                      VV_SENDNUM             VARCHAR2,
                      VV_CONTENT             VARCHAR2,
                      VV_RECEIVENUM   IN     receiveArray,//传进来一个数组
                      VV_REMARK              VARCHAR2,
                      VV_KEYWORD             VARCHAR2)请问各位大侠们,如果我要在数据库中测试这个存储过程的话,数组这个参数我应该怎么写进去?
exec AutoMsg('111','abc','1123',"这个数组位置我怎么写",'1213','1215');

解决方案 »

  1.   


    declare
    定义数组变量;
    begin
      数组变量赋值;
      调用你有数组类型参数的过程;
    end;
      

  2.   


    PROCEDURE AutoMsg (VV_SMS OUT VARCHAR2,
      VV_SENDNUM VARCHAR2,
      VV_CONTENT VARCHAR2,
      VV_RECEIVENUM IN receiveArray,//传进来一个数组
      VV_REMARK VARCHAR2,
      VV_KEYWORD VARCHAR2)
    参数不写明in,out:默认为in。
    创建存储过程,语法:
    create or replace procedure procedure_name
    (parameter_name in|out|in out  datatype)
    is|as
    begin
     procedure_body;
    end procedure_name;
      

  3.   

    存储过程我写好了, 我的意思是 如何在里面传个数组参数测试。
     exec AutoMsg('111','abc','1123',"[color=#FF0000]这个数组位置我怎么写",'1213','1215');红色位置  我怎么弄个参数测试!
      

  4.   


    --先建立一个数组类型
    create type receiveArray as varray of varchar2(50);
    exec AutoMsg('111','abc','1123',receiveArray('this is my test'),'1213','1215');