暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 多列数据需要插入到另一个表中。

askTom 2015-09-30
151

问题描述

嗨。。

我有5列的表,它是数据,我需要将这5列的数据插入目标表T2中,逗号分隔。在T2中,只有一个列是“lobclob”

描述t1 :
A数(18,0)
B VARCHAR2 ( 35字符)
C VARCHAR2 ( 35字符)
D字符( 5字符)
E字符( 5字符)
F数字(1, 0)
G VARCHAR2 ( 18字符)
H字符( 3字符)
)

源表T1
A B C D E F G H
1 1180010200018128296249 EZEE1 EZEE2 1 C N
2 18001020001 8128296249 EZEE1 EZEE2 1 C N


目标表T2 ,

创建表目标(Lob clob) ;

T2表中所需的输出:

1、18001020001、8128296249、EZEE1、EZEE2、1、C、N
2、18001020001、8128296249、EZEE1、EZEE2、1、C、N

我已经试过下面的

插入T2 (cLOB_col)
选择a||','||b||','||c||','||d|| ,'||e
从T1开始

在Target表中,它插入的方式与CLOB列中的每个记录一样。它是两个记录,

我的要求不同。

他的行为是不同的,它认为所有的记录是一个。


专家解答

我根据你的文章做了一些假设- -希望这就是你的想法。

SQL> drop table T1 purge;

Table dropped.

SQL>
SQL> create table T1 as
  2  select 'a'||rownum a,
  3         'b'||rownum b,
  4         'c'||rownum c
  5  from dual
  6  connect by level <= 20;

Table created.

SQL>
SQL> select * from T1;

A          B          C
---------- ---------- ----------
a1         b1         c1
a2         b2         c2
a3         b3         c3
a4         b4         c4
a5         b5         c5
a6         b6         c6
a7         b7         c7
a8         b8         c8
a9         b9         c9
a10        b10        c10
a11        b11        c11
a12        b12        c12
a13        b13        c13
a14        b14        c14
a15        b15        c15
a16        b16        c16
a17        b17        c17
a18        b18        c18
a19        b19        c19
a20        b20        c20

20 rows selected.

SQL>
SQL> drop table T2 purge;

Table dropped.

SQL>
SQL> create table T2 ( lob clob );

Table created.

SQL>
SQL> declare
  2    c clob;
  3  begin
  4    insert into T2 values (empty_clob())
  5    returning lob into c;
  6
  7    for i in
  8      ( select a||','||b||','||c||',' str
  9        from  T1 )
 10    loop
 11      dbms_lob.writeappend(c,length(i.str),i.str);
 12    end loop;
 13  end;
 14  /

PL/SQL procedure successfully completed.

SQL>
SQL> set long 5000
SQL> select * from T2;

LOB
--------------------------------------------------------------------------------
a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4,a5,b5,c5,a6,b6,c6,a7,b7,c7,a8,b8,c8,a9,b9,c9
,a10,b10,c10,a11,b11,c11,a12,b12,c12,a13,b13,c13,a14,b14,c14,a15,b15,c15,a16,b16
,c16,a17,b17,c17,a18,b18,c18,a19,b19,c19,a20,b20,c20,


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论