我有一个数据库链接到使用Oracle的异构服务的Oracle数据库中的MS Access数据库。某些Access表列名称的长度超过了Oracle允许的30个字符。因此,我的PL/SQL代码返回一个错误:
declare
my_record myaccesstable@MSAccessODBC64%rowtype;
begin
null;
--dbms_output.put_line(my_record."flight_pattern_combination_string");
end;
/
declare
*
ERROR at line 1:
ORA-04052: error occurred when looking up remote object BASE.MSNS_MISSIONS@AMGBASETABLES64
ORA-00600: internal error code, arguments: [kglhfr-bad-free], [], [], [], [], [], [], [], [], [], [], []
ORA-06553: PLS-114: identifier 'flight_pattern_combination_str' too long在使用%rowtype语法时,有没有办法修剪或截断列名?我不能修改Access数据库。我可以使用record数据类型声明,但这需要将所有列数据类型复制到pl/sql块或包中。我尝试使用以下代码:
create table test as select * from myaccesstable@MSAccessODBC64
*
ERROR at line 1:
ORA-00997: illegal use of LONG datatype在PL/SQL块中使用%rowtype语法时,有没有办法修剪或截断列名?
https://stackoverflow.com/questions/41496074
复制相似问题