在Select语句中运行项目上的函数

时间:2015-09-04 23:29:30

标签: sql oracle function plsql

我有一个包含对象的表。我想通过并在每个上调用一个成员函数来改变每个对象的某些值。问题是我当前的方法不会更改对象,而是似乎创建新对象并且不保存表中的更改。

我的代码看起来像

declare
  type row_type is table of my_table%rowtype;
  my_rows row_type;
begin
  select * bulk collect into my_rows from my_table;
  for i in my_table.first .. my_table.last loop
    my_table(i).stored_class.add_func(1);
  end loop;
  commit;
end;

使用某种模式。

create table my_table
(
    stored_class my_class
);

create type my_class as object
(
    my_num number,
    member procedure add_func(in_number number)
);

create type my_class body is
    member procedure add_func(in_number number) is
    begin
        my_num := my_num + in_number;
    end
end;

感谢任何帮助,谢谢。

0 个答案:

没有答案