Как передать список пар хранимой процедуре Oracle? - PullRequest
2 голосов
/ 18 октября 2010

Я хочу написать хранимую процедуру Oracle PL / SQL, которая принимает в качестве параметра список пар другого типа, скажем, varchar2(32).Это возможно?Какой лучший способ сделать это?

1 Ответ

6 голосов
/ 18 октября 2010

Звучит так, будто вы просто хотите передать коллекцию, т.е.

SQL> create type point as object (
  2    x_coordinate number,
  3    y_coordinate number );
  4  /

Type created.

SQL> create type point_array
  2  is
  3  table of point;
  4  /

Type created.

SQL> create procedure interpolate( points IN point_array )
  2  as
  3  begin
  4    null;
  5  end;
  6  /

Procedure created.

SQL> declare
  2    points point_array := point_array( point(0,1), point(1,1) );
  3  begin
  4    interpolate( points );
  5  end;
  6  /

PL/SQL procedure successfully completed.

Очевидно, что в действительности функция будет делать что-то с переданным массивом, но это общая идея.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...