我有一个使用 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 数据库。我可以使用记录数据类型声明,但这将涉及将所有列数据类型复制到 pl/sql 块或包中。我尝试使用以下内容:
create table test as select * from myaccesstable@MSAccessODBC64
*
ERROR at line 1:
ORA-00997: illegal use of LONG datatype
在 PL/SQL 块中使用 %rowtype 语法时,有没有办法修剪或截断列名?