Oracle存储过程将表结构返回到PowerShell

时间:2011-01-19 19:00:30

标签: sql oracle stored-procedures powershell plsql

我目前能够执行sql语句,返回信息,并使用reader来解析信息。我想用SPROC来做这件事,但是我遇到了问题。在定义sproc时,我该如何返回表的结构?返回每一列?

示例:

CREATE PROCEDURE sp_test1 (id int, 
                           test1 varchar2(15), 
                           test3 varchar3(15))
BEGIN
  SELECT id, test1, test3 FROM test_table
END;

1 个答案:

答案 0 :(得分:3)

如果您想使用存储过程,通常会返回一个光标,即

CREATE OR REPLACE PROCEDURE sp_test1( p_cursor OUT SYS_REFCURSOR )
AS
BEGIN
  OPEN p_cursor
   FOR SELECT id, test1, test3
         FROM test_table;
END;

假设PowerShell知道如何处理返回的游标句柄,那应该可行。另一方面,如果您所做的只是封装查询,则可能需要在Oracle中使用视图而不是存储过程。然后,您的应用程序可以针对视图发出简单的选择。