Используя процедуру
create or replace procedure P_COPY_USERDATA
(sUSERID in varchar2, nCOMPANY in number, sCOMPANY in varchar2) is
cursor c1 is
select d.authid1,
d.appcode,
d.data,
d.sequence,
d.seqsize
from userdata d where d.authid = sUSERID and
d.company = nCOMPANY;
dat c1%rowtype;
nCOMPANY2 number(17);
begin
select c.rn
into nCOMPANY2
from companies c
where c.name = sCOMPANY;
delete userdata where authid = sUSERID and company = nCOMPANY2;
open c1;
loop
fetch c1 into dat;
exit when c1%notfound;
insert into userdata
(rn,
company,
authid,
authid1,
appcode,
data,
sequence,
seqsize)
values
(gen_id,
nCOMPANY2,
sUSERID,
dat.authid1,
dat.appcode,
dat.data,
dat.sequence,
dat.seqsize);
commit;
end loop;
close c1;
end;
Параметры:
nCOMPANY - привязать "К организации", при вызове процедуры настройки будут браться из текущей организации,
sCOMPANY - организация, куда копируются настройки,
sUSER - логин пользователя, чьи настроки копируются.
|