ゞ沉默是金ゞ

          魚離不開水,但是沒有說不離開哪滴水.
          posts - 98,comments - 104,trackbacks - 0
          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          1.        1.Define the object type PROFILE_TAG_TYPE.

          CREATE OR REPLACE TYPE PZN_ADMIN.PROFILE_TAG_TYPE

          AS

           OBJECT

           (

              MID                     VARCHAR2 (34),

              TAG_ID                  NUMBER,

              CUSTOMER_TYPE           VARCHAR2(1),

              SOURCE_SYSTEM           VARCHAR2(30),

              TAG_CREATED_DATE        VARCHAR2(30),

              INTEREST_LEVEL          NUMBER(2),

              SUPPRESSION_IND         VARCHAR2(2),

              SUPPRESSION_EXPIRY_DATE VARCHAR2(30),

              LAST_HOUSEKEEPING_DATE VARCHAR2(30),

              LAST_EVENT_DATE         VARCHAR2(30),

          REASON                  VARCHAR2(1500) );

           

          2.       2. Grant PROFILE_TAG_TYPE execute access to PZN_MB_USER.

          GRANT EXECUTE ON PZN_ADMIN.PROFILE_TAG_TYPE TO PZN_MB_USER;

           

          3.       3. Define the array type reference to object PROFILE_TAG_TYPE.

          CREATE TYPE PZN_ADMIN.PROFILE_TAG_ARRAY AS TABLE OF PZN_ADMIN.PROFILE_TAG_TYPE;

           

          4.       4. Grant PROFILE_TAG_ARRAY execute access to PZN_MB_USER.

          GRANT EXECUTE ON PZN_ADMIN.PROFILE_TAG_ARRAY TO PZN_MB_USER;

           

          5.       5. Create store procedure package.

          CREATE OR REPLACE

          PACKAGE PZN_ADMIN.PZN_PROFILE_TAG_PKG

          AS

          PROCEDURE INSERT_PROFILE_TAG(

              PTA PROFILE_TAG_ARRAY);

          END PZN_PROFILE_TAG_PKG;

           

          6.       6. Create store procedure package body.

          CREATE OR REPLACE

          PACKAGE BODY PZN_ADMIN.PZN_PROFILE_TAG_PKG

          AS

          PROCEDURE INSERT_PROFILE_TAG(

              PTA PROFILE_TAG_ARRAY)

          AS

          BEGIN

           FOR I IN PTA.FIRST..PTA.LAST

           LOOP

              INSERT

              INTO PZN_ADMIN.PROFILE_TAG

                (

                  PROFILE_TAG_ID,

                  MID,

                  TAG_ID,

                  CUSTOMER_TYPE,

                  SOURCE_SYSTEM,

                  TAG_CREATED_DATE,

                  INTEREST_LEVEL,

                  SUPPRESSION_IND,

                  SUPPRESSION_EXPIRY_DATE,

                  LAST_HOUSEKEEPING_DATE,

                  LAST_EVENT_DATE,

                  REASON

                )

                VALUES

                (

                  SEQ_PROFILE_TAG_ID.NEXTVAL ,

                  PTA(I).MID,

                  PTA(I).TAG_ID,

                  PTA(I).CUSTOMER_TYPE,

                  PTA(I).SOURCE_SYSTEM,

                  TO_DATE(PTA(I).TAG_CREATED_DATE,'YYYY-MM-DD'),

                  PTA(I).INTEREST_LEVEL,

                  PTA(I).SUPPRESSION_IND,

                  TO_DATE(PTA(I).SUPPRESSION_EXPIRY_DATE,'YYYY-MM-DD'),

                  TO_DATE(PTA(I).LAST_HOUSEKEEPING_DATE,'YYYY-MM-DD'),

                  TO_DATE(PTA(I).LAST_EVENT_DATE,'YYYY-MM-DD'),

                  PTA(I).REASON

                );

           END LOOP;

          END INSERT_PROFILE_TAG;

          END PZN_PROFILE_TAG_PKG;

           

          7.       7. Create synonym to PZN_MB_USER.

          CREATE SYNONYM PZN_MB_USER.PZN_PROFILE_TAG_PKG FOR PZN_ADMIN.PZN_PROFILE_TAG_PKG;

           

          8.       8. Grant execute access to PZN_MB_USER.

          GRANT EXECUTE ON PZN_ADMIN.PZN_PROFILE_TAG_PKG TO PZN_MB_USER;

           

          9.       9. Create the java class to call the procedure.

           

          public class ProcedureTest2 {

           

                  public static void insertProfileTag(){

                                  Connection dbConn = null;

                                  try {

                                                  Object[] so1 = {"ee745b5782bfc311e0b5730a2aba15aa77",31,"C","eDB","2012-08-13",0,"0","2012-08-13","2012-08-13","2012-08-13","eDB"};

                                                  Object[] so2 = {"ee745b5782bfc311e0b5730a2aba15aa77",32,"C","eDB","2012-08-13",0,"0","2012-08-13","2012-08-13","2012-08-13","eDB"};

                                                  OracleCallableStatement callStatement = null;

                                                  Class.forName("oracle.jdbc.driver.OracleDriver");

                                                  dbConn = DriverManager.getConnection("jdbc:oracle:thin:@da957116.fmr.com:1521:orcl", "PZN_MB_USER", "PZN_MB_USER123");

                                                 

                                                  StructDescriptor st = new StructDescriptor("PZN_ADMIN.PROFILE_TAG_TYPE", dbConn);

                                                  STRUCT s1 = new STRUCT(st, dbConn, so1);

                                                  STRUCT s2 = new STRUCT(st, dbConn, so2);

                                                  STRUCT[] deptArray = { s1, s2 };

                                                 

                                                  ArrayDescriptor arrayDept = ArrayDescriptor.createDescriptor("PZN_ADMIN.PROFILE_TAG_ARRAY", dbConn);

                                                  ARRAY deptArrayObject = new ARRAY(arrayDept, dbConn, deptArray);

                                                 

                                                  callStatement = (OracleCallableStatement) dbConn.prepareCall("{call PZN_PROFILE_TAG_PKG.INSERT_PROFILE_TAG(?)}");

                                                  callStatement.setArray(1, deptArrayObject);

                                                  callStatement.executeUpdate();

                                                  dbConn.commit();

                                                  callStatement.close();

                                  } catch (Exception e) {

                                                  System.out.println(e.toString());

                                                  e.printStackTrace();

                                  }

                  }

           

                  public static void main(String[] args) {

                                  insertProfileTag();

                  }

          }

          posted on 2012-08-13 16:17 ゞ沉默是金ゞ 閱讀(338) 評論(0)  編輯  收藏 所屬分類: DB
          主站蜘蛛池模板: 达拉特旗| 桂平市| 淄博市| 阳高县| 措勤县| 潮州市| 汤阴县| 鸡泽县| 广汉市| 鄂尔多斯市| 仁怀市| 鄯善县| 舒兰市| 十堰市| 柘城县| 普兰县| 常德市| 怀集县| 禹城市| 鹰潭市| 呼和浩特市| 天祝| 宜宾市| 江油市| 虎林市| 永济市| 高尔夫| 隆昌县| 临江市| 邛崃市| 芜湖县| 富蕴县| 池州市| 新田县| 盘锦市| 胶南市| 颍上县| 岳阳县| 招远市| 曲松县| 绥阳县|