我理解楼主的意思是存储过程返回一个数据集合?如果确实是这样的话,我觉得可以以如下两种方式解决 1.将存储过程中检索到的数据拼装成字符串,返回。 2.如果“在存储过程中从一些表中检索数据,然后做了处理”处理步骤比较简单,可以通过一条SQL语句解决的话,那么可以返回一个游标。即mycursor is select ......的形式。 各数据库之间存在不少的差异,Oracle没有表变量这么个东西,除非用面向对象的形式(),即1楼所叙述的“TYPE typename IS TABLE OF typename。”
TYPE typename IS TABLE OF typename。
但他只是 collection(集合) 的一种。
例如:在存储过程中从一些表中检索数据,然后做了处理,就放到这个表变量中,最后返回这个表变量。
当然临时表是可以的,但临时表不是在内存的,oracle中表结构要自己drop,所以不想用临时表。就想用像sql server中的表变量。
to:未来战士 你可否说详细点,不明白你的意思。
1.将存储过程中检索到的数据拼装成字符串,返回。
2.如果“在存储过程中从一些表中检索数据,然后做了处理”处理步骤比较简单,可以通过一条SQL语句解决的话,那么可以返回一个游标。即mycursor is select ......的形式。
各数据库之间存在不少的差异,Oracle没有表变量这么个东西,除非用面向对象的形式(),即1楼所叙述的“TYPE typename IS TABLE OF typename。”
据说这么处理的原因是可以方便java用户的使用;^_^