![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как передать результат селекта параметром в процедуру?
alsov1 © (2004-10-13 10:41:00)Приветствую Мастера!
Например:
Есть процедура add
с параметром Par in number
как в неё передать результат селекта
select id
from что-то
where что-то = чему-то;
не используя переменные???
что-то типа
execute add(select id
from что-то
where что-то = чему-то);
но такой вариант не проходит
Заранее спасибо
Reindeer Moss Eater (2004-10-13 11:37:00) [21]declare
type trand_rec is record(
x number,
y number,
z number
);
type trand_arr is table of trand_rec;
rand_arr trand_arr;
begin
rand_arr := trand_arr();
for i in 1 .. 100
loop
rand_arr.extend;
select dbms_Random.NORMAL,dbms_Random.NORMAL,dbms_Random.NORMAL into rand_arr(rand_arr.last).x,rand_arr(rand_arr.last).y,rand_arr(rand_arr.last).z from dual;
end loop;
forall i in rand_arr.first .. rand_arr.last
loop
insert into some_table values(rand_arr(i).x,rand_arr(i).y,rand_arr(i).z);
end loop;
end;
alsov1 (2004-10-13 11:31:00) [22]2Reindeer Moss Eater
По делу подскажи, я в оракле новичок.
Reindeer Moss Eater (2004-10-13 11:14:00) [23]Боже ж ты мой.
Изнасиловать Оракл в такой извращенной форме.
alsov1 (2004-10-13 11:05:00) [24]Нужно заполнить таблицу фигнёй для тестов скорости
Вот например процедура заполнения:
CREATE or replace PROCEDURE FillMyesto (
HowMany in number,
Id_myesto in number)
is BEGIN
declare
i number;
V_KOORDINATA_X number;
V_KOORDINATA_Y number;
V_KOORDINATA_Z number;
-- V_ID___MYESTO number;
V_PYERIOD_OPROSA number;
V_SOSTOYANIYE char;
V_DATA_I_VRYEMYA_USTANOVKI timestamp;
begin
for i in 1..HowMany loop
select dbms_Random.NORMAL into V_KOORDINATA_X from dual;
select dbms_Random.NORMAL into V_KOORDINATA_Y from dual;
select dbms_Random.NORMAL into V_KOORDINATA_Z from dual;
select abs(dbms_Random.RANDOM) into V_PYERIOD_OPROSA from dual;
select dbms_Random.STRING('p', 1) into V_SOSTOYANIYE from dual;
select sysdate into V_DATA_I_VRYEMYA_USTANOVKI from dual;
-- Заношу данные
adddatchikfullparam (
V_KOORDINATA_X,
V_KOORDINATA_Y,
V_KOORDINATA_Z,
ID_MYESTO,
V_PYERIOD_OPROSA,
V_SOSTOYANIYE,
V_DATA_I_VRYEMYA_USTANOVKI);
end loop;
commit;
end;
END;
/
Хочу избавиться от переменных и передавать параметром в процедуру результат селекта
stud (2004-10-13 10:58:00) [25]может лучше объяснить смысл подобной процедуры?
и субд?