博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何利用TYPE 实现列转行

Posted on 2010-12-16 14:06  徐正柱-  阅读(408)  评论(0编辑  收藏  举报

 首先创建Object 对象

create or replace type obj_table AS object (

FIELDNAME VARCHAR2(44),

FIELDVALUE NUMBER(28,6)

);

create or replace type type_table as table of obj_table

;

应用TYPE 类型的对象:

Select A.FID,B.FIELDNAME,B.FIELDVALUE

FROM SDL_FI_T_CSL_ITEMDATAENTRY_RC A

TABLE(TYPE_TABLE

   (

     OBJ_TABLE('F1',A.F1),

     OBJ_TABLE('F2',A.F2),

     OBJ_TABLE('F3',A.F3),

     OBJ_TABLE('F4',A.F4)

     )

  )B

;

将四列字段(A.F1,A.F2,A.F3,A.F4)转换成一列, 对应到OBJ_TABLE的成员FIELDVALUE