如题,问题是这样的:
目前有一个表:CREATE TABLE BOOKFILE (id NUMBER, FILEDATA LONG RAW);
BOOKFILE 表中存有LONG RAW字段类型的文件,文件大小不定;表中记录数也不定;我需要重新创建一个新表BOOKFILE2;要求BOOKFILE2中的结构、数据和BOOKFILE保持一致;
现在遇到的问题是不知道怎么把数据拷贝过来BOOKFILE2表中了?要求完全用sql脚本实现,请各位大虾指点一下,感谢!说下我的拷贝数据的pl/sql:
Declare
CURSOR S_cur IS SELECT * from BOOKFILE;
S_rec S_cur%ROWTYPE; --这里直接定义为long raw也是一样的错误,没辙了~:(
BEGIN
insert into BOOKFILE2(ID ,FILEDATA ) select ID, null from BOOKFILE;
OPEN S_cur;
LOOP
FETCH S_cur INTO S_rec; --不知何故,总是在这里报错:ORA-06502: PL/SQL: 数字或值错误
EXIT WHEN S_cur%NOTFOUND;
update BOOKFILE2 set FILEDATA=S_rec.FILEDATA where id=S_rec.id;
END LOOP;
CLOSE S_cur;
END;
/
目前有一个表:CREATE TABLE BOOKFILE (id NUMBER, FILEDATA LONG RAW);
BOOKFILE 表中存有LONG RAW字段类型的文件,文件大小不定;表中记录数也不定;我需要重新创建一个新表BOOKFILE2;要求BOOKFILE2中的结构、数据和BOOKFILE保持一致;
现在遇到的问题是不知道怎么把数据拷贝过来BOOKFILE2表中了?要求完全用sql脚本实现,请各位大虾指点一下,感谢!说下我的拷贝数据的pl/sql:
Declare
CURSOR S_cur IS SELECT * from BOOKFILE;
S_rec S_cur%ROWTYPE; --这里直接定义为long raw也是一样的错误,没辙了~:(
BEGIN
insert into BOOKFILE2(ID ,FILEDATA ) select ID, null from BOOKFILE;
OPEN S_cur;
LOOP
FETCH S_cur INTO S_rec; --不知何故,总是在这里报错:ORA-06502: PL/SQL: 数字或值错误
EXIT WHEN S_cur%NOTFOUND;
update BOOKFILE2 set FILEDATA=S_rec.FILEDATA where id=S_rec.id;
END LOOP;
CLOSE S_cur;
END;
/
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货