Вы бы написали оператор SELECT
, который выбирает интересующие вас данные, а затем использовали его в операторе INSERT
. Взгляните на следующий пример:
Сначала тестовый пример:
SQL> create table users as
2 select 1682 userid, 1026 gpid, 'IBMSDL25' groupname from dual union all
3 select 1882 userid, 1028 gpid, 'IBMSDL25' groupname from dual union all
4 select 2222 userid, 2222 gpid, 'XXXXXX25' groupname from dual; --> will NOT be inserted
Table created.
SQL> create table usersqueries (app varchar2(2),
2 clausename varchar2(20), userid number, defaultqueryid number, owner
3 varchar2(20));
Table created.
SQL> create sequence defaultqueryseq;
Sequence created.
SQL>
Тестирование: начиная со строки № 3 является оператор SELECT
, о котором я упоминал ранее.
SQL> insert into usersqueries
2 (app, clausename, userid, defaultqueryid, owner)
3 select 'SR',
4 'Assigned_SRs_to_me',
5 u.userid,
6 defaultqueryseq.nextval,
7 'MAXADMIN'
8 from users u
9 where u.groupname = 'IBMSDL25';
2 rows created.
SQL> select * From usersqueries;
AP CLAUSENAME USERID DEFAULTQUERYID OWNER
-- -------------------- ---------- -------------- --------------------
SR Assigned_SRs_to_me 1682 1 MAXADMIN
SR Assigned_SRs_to_me 1882 2 MAXADMIN
SQL>