一个SQL问题,高手来看看!

ningIII 2003-10-19 07:52:52
insert into t1 select * from t2@db_link;

--t1 数据库1的表
--t2 数据库2的表
--db_link 数据库1连接数据库的数据库连接
t2中有一个LONG数据类型

t1和t2表结构一样

运行上面的SQL语句报错:ORA-00997: 非法使用 LONG 数据类型

怎么解决??

为什么LONG数据类型不能执行整张表拷贝??

还有为什么嵌套表也不行啊??
...全文
41 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningIII 2003-10-20
  • 打赏
  • 举报
回复
INSERT INTO T2 VALUES(。。。。)

里面随便给LONG一个值就可以!

为什么我最上面的语句就不可以呢??

那我要怎么解决我的问题呢??两张表的复制就不可以吗??

请大伙帮帮忙吧!
ningIII 2003-10-20
  • 打赏
  • 举报
回复
我明白了,你的意思是取出来先放到变量里面,再望别的表里面插??

那还有一个问题,如果源表中有LONG字段,那我怎么建立和这张表结构一样的表呢??(程序实现)

因为CREATE TABLE T1 AS SELECT * FROM T2 WHERE 1=2;

会报错:非法使用LONG数据类型
jiezhi 2003-10-20
  • 打赏
  • 举报
回复
DROP TABLE long_tab;

CREATE TABLE long_tab (
key NUMBER,
long_col LONG
);

INSERT INTO long_tab (key, long_col)
VALUES (100,
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ');

COMMIT;

SET SERVEROUTPUT on
DECLARE
v_Query VARCHAR2(200);
v_NewLOB CLOB;
BEGIN
v_Query := 'SELECT long_col FROM long_tab where key = 100';
INSERT INTO lobdemo (key, clob_col)
VALUES (100, EMPTY_CLOB())
RETURNING clob_col INTO v_NewLOB;

Long2Lob(v_Query, v_NewLOB);
LOBPrint(v_NewLOB);
COMMIT;
END;
/
jiezhi 2003-10-20
  • 打赏
  • 举报
回复
select .... 裡面不能有long的字段
chanet 2003-10-19
  • 打赏
  • 举报
回复
Long 只能在 Select 的子句里~
ningIII 2003-10-19
  • 打赏
  • 举报
回复
就是LONG类型不可以吗??

为什么其他大对象类型可以啊,这点不可理解!

按理LONG还没那几个大呢!
ATCG 2003-10-19
  • 打赏
  • 举报
回复
不能在SQL*Plus中将LONG类型列的值插入到另一个表
insert into table
select * from other_table

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧