Параметр функции - таблица. Как передать?

rolechka
Дата: 02.03.2007 11:37:01
Здравствуйте.

Есть глоб. тип:
create or replace type t_varchar2_t is table of varchar2(256);

Есть функция, которая принимает данные такого типа в качестве параметров:
create or replace function test(t in t_varchar2_t) return varchar2
is
  v_i number;
  s varchar2(4000);
begin
  ....
  return s;
end;

Никак не могу разораться как правильно вызвать функцию в SQL запросе, а-ля:
select test ( cast((select name from table1) as varchar2 ) from dual
Бабичев Сергей
Дата: 02.03.2007 11:43:58
Тынц №1 - запрос из фукнции
Тынц №2 - запрос из фукнции 2
Владимир Бегун
Дата: 02.03.2007 11:46:09
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> create or replace type t_varchar2_t is table of varchar2(256);
  2  /

Type created.

SQL> create or replace function test(t in t_varchar2_t) return varchar2
  2  is
  3  begin
  4    return null;
  5  end;
  6  /

create or replace function test(t in t_varchar2_t) return varchar2
*
ERROR at line 1:
ORA-00955: name is already used by an existing object


SQL> SQL> 1
  1* create or replace function test(t in t_varchar2_t) return varchar2
SQL> c/test/test_/
  1* create or replace function test_(t in t_varchar2_t) return varchar2
SQL> /

Function created.

SQL> SELECT test_(CAST(MULTISET(SELECT object_name FROM user_objects) AS t_varchar2_t)) FROM dual;

TEST_(CAST(MULTISET(SELECTOBJECT_NAMEFROMUSER_OBJECTS)AST_VARCHAR2_T))
--------------------------------------------------------------------------------


rolechka
Дата: 02.03.2007 12:35:45
Владимир Бегун
TEST_(CAST(MULTISET(SELECTOBJECT_NAMEFROMUSER_OBJECTS)AST_VARCHAR2_T))


Это ОНО!!! Спасибо!!!