M meiguibao Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-03 #1 如: 我想在oracle的存储过程中返回 select * from table1 中的所有记录. 谢谢各位大侠的指教!!!!!!!!!
H hi_zhb Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-03 #2 可以返回,先要建立一个PACKAGE,具体内容要回到公司看看才行
T tseug Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-03 #4 问题提出/摘要: 在使用报表构件的时候常需要结果集作为数据源。通过研究,我发现了一种从 Oracle 中返回结果集给 Delphi 的 Dataset 的简便方法。 回答: 方法是使用存贮过程。此存贮过程必须以游标作为第一个参数。后面可以跟上其它参数。此游标须是 IN/OUT 型的。你可以使用一个通用游标类型,并将此类型定义在一个 package 中。 下面是简短的举例代码: CREATE package Test_Package as type Test_Type is ref cursor; end; CREATE PROCEDURE Test_Procedure ( Test_Cursor IN OUT Test_Package.Test_Type) AS BEGIN OPEN Test_Cursor FOR SELECT * FROM Test_Table END Test_Procedure; 在 Delphi 中,你需要正确设置好在存贮过程中定好的参数,一个技巧就是将游标参数在对象检视器中设置为 ftCursor, 现在将一个 Datasource 与存贮过程构件相联,激活该构件,一切就大功告成了。! PS: 我使用 Oracle 8.1.6! 但相信早期版本理论上也一定适用! ;-)
问题提出/摘要: 在使用报表构件的时候常需要结果集作为数据源。通过研究,我发现了一种从 Oracle 中返回结果集给 Delphi 的 Dataset 的简便方法。 回答: 方法是使用存贮过程。此存贮过程必须以游标作为第一个参数。后面可以跟上其它参数。此游标须是 IN/OUT 型的。你可以使用一个通用游标类型,并将此类型定义在一个 package 中。 下面是简短的举例代码: CREATE package Test_Package as type Test_Type is ref cursor; end; CREATE PROCEDURE Test_Procedure ( Test_Cursor IN OUT Test_Package.Test_Type) AS BEGIN OPEN Test_Cursor FOR SELECT * FROM Test_Table END Test_Procedure; 在 Delphi 中,你需要正确设置好在存贮过程中定好的参数,一个技巧就是将游标参数在对象检视器中设置为 ftCursor, 现在将一个 Datasource 与存贮过程构件相联,激活该构件,一切就大功告成了。! PS: 我使用 Oracle 8.1.6! 但相信早期版本理论上也一定适用! ;-)
H htw Unregistered / Unconfirmed GUEST, unregistred user! 2002-10-03 #5 declare cursor MyCursor As select * from table_name; begin Open MyCursor; fetch MyCursor into XX,TT, ZZ,; close MyCursor; end;
declare cursor MyCursor As select * from table_name; begin Open MyCursor; fetch MyCursor into XX,TT, ZZ,; close MyCursor; end;