- SQL code
CREATE OR REPLACE TYPE test_obj AS OBJECT( c1 NUMBER, c2 number);CREATE OR REPLACE TYPE test_type AS TABLE OF test_obj;--创建一个函数CREATE OR REPLACE FUNCTION testFuncRETURN test_type PIPELINEDASbegin PIPE ROW(test_obj(1,2)); PIPE ROW(test_obj(3,4)); end;--测试该函数select * from table(testFunc());--创建一个表create table test_table(col_1 number);insert into test_table(col_1) values(1);insert into test_table(col_1) values(2);insert into test_table(col_1) values(3);--连接查询 ---------通过select * from test_table a,table(testFunc())b where a.col_1<=b.c1;----------下面这句查询报错"ORA-03113: 通信通道的文件结束",并且把test_table清空--select * from test_table a,table(testFunc())b where a.col_1>=b.c1;
请教:后面那两句为什么使用 <= 条件可以通过,使用 >= 就报“ORA-03113: 通信通道的文件结束”的错误呢?
------解决方案--------------------
http://blog.163.com/ahui_only/blog/static/5795161920071126112548802/