我的要求是在oracle中编写一个查询
“从用户表中获取用户ID并插入USERQueries表中”
用户
USERID GPID GROUP
1682 1026 IBMSDL2S
1882 1028 IBMSDL2S
1573 1029 IBMSDL2S
1342 1124 IBMSDL2S
1976 2576 IBMSDL2S
1883 2575 IBMSDL2S
1854 2574 IBMSDL2S
2222 2573 IBMSDL2S
2207 2572 IBMSDL2S
USER查询
APP CLAUSENAME USERID DEFAULTQUERYID OWNER
SR Assgined_SRs_To_Me 1249 545 MAXADMIN
SR Assgined_SRs_To_Me 1682 543 MAXADMIN
我可以如下插入一个用户ID
insert into USERSQUERIES
(APP,CLAUSENAME,USERID,DEFAULTQUERYID,OWNER)
values
('SR','Assgined_SRs_To_Me',(select userid from USERS where groupname='IBMSDL2S' and userid='1249
),DEFAULTQUERYSEQ.NEXTVAL,'MAXADMIN')
但不了解它将如何对所有用户标识起作用
您将编写一条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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句