Inserts, Updates and Deletes are not valid operations within Row Producing / Table Procedures. This is not a supported feature as of 9.3.
Yes Table Procedures / Procedures returning multiple rows can be invoked within a normal SP and Row Producing SP.
Here are some egs:
create procedure jdbc53_tproc1(p1 int not null) result row tpr1(tp_emp_id int, tp_emp_gender char, tp_emp_name varchar(10), tp_dept_code nchar(3),tp_emp_bonus_percentage float, tp_emp_hiredate ingresdate,tp_emp_salary money,tp_emp_status byte(8), tp_emp_joining_time timestamp)as declare l1 int;l2 char; l3 varchar(10); l4 nchar(3);l5 float;l6 ingresdate; l7 money; l8 byte(8); l9 timestamp; begin for select emp_id,emp_gender,emp_name,dept_code,emp_bonus_per centage,emp_hiredate,emp_salary,emp_status,emp_joi ning_time into :l1,:l2,:l3,:l4,:l5,:l6,:l7,:l8,:l9 from jdbc53_emp where emp_id >=

1 do return row(:l1,:l2,:l3,:l4,:l5,:l6,:l7,:l8,:l9); endfor; end;\g
create procedure jdbc53_tNest result row tpr1(tp_emp_id int, tp_emp_gender char, tp_emp_name varchar(10), tp_dept_code nchar(3),tp_emp_bonus_percentage float, tp_emp_hiredate ingresdate,tp_emp_salary money,tp_emp_status byte(8), tp_emp_joining_time timestamp)as declare l1 int;l2 char; l3 varchar(10); l4 nchar(3);l5 float;l6 ingresdate; l7 money; l8 byte(8); l9 timestamp; begin for select tp_emp_id,tp_emp_gender,tp_emp_name,tp_dept_code,t p_emp_bonus_percentage,tp_emp_hiredate,tp_emp_sala ry,tp_emp_status,tp_emp_joining_time into :l1,:l2,:l3,:l4,:l5,:l6,:l7,:l8,:l9 from jdbc53_tproc1(1) do return row(:l1,:l2,:l3,:l4,:l5,:l6,:l7,:l8,:l9); endfor; end;\g
create procedure tblproc000_tproc_normproc(p1 int not null)
as declare l1 varchar(20) not null;begin for select tp_emp_name into :l1 from
jdbc53_tproc1(1) where tp_emp_id=1 do message l1; endfor; end; \g
Regards,
Manjeera