Puncte:-1

Extragerea utilizatorilor și a rolurilor în Oracle

drapel ht

Am încercat să scriu o interogare pentru a avea o extracție de utilizatori/roluri, nu am prea multe abilități SQL la fel de bine ca pe oracle, așa că am început cu asta:

SELECTAȚI A.GRANTEE, A.GRANTED_ROLE, B.ACCOUNT_STATUS FROM DBA_ROLE_PRIVS A
ÎNSCRIEȚI-VĂ DBA_USERS B PE A.GRANTEE = B.USERNAME
WHERE B.ACCOUNT_STATUS = „DESCHIS”
ȘI A.GRANTARE NU ÎN („SISTEM”, „SISTEM”)
COMANDĂ PRIN BENANT;

Rezultatele arată astfel:

GRANTEE GRANTED_ROLE ACCOUNT_STATUS
PIPPO CONNECT DESCHIS
PLUTO CONNECT DESCHIS
PAPERINO DATAPUMP_IMP_FULL_DATABASE OPEN
PAPERINO DATAPUMP_EXP_FULL_DATABASE OPEN
RESURSA ZIOPAPERONE DESCHISĂ
ZIOPAPERONE CONNECT DESCHIS
PAPEREGA CONNECT OPEN
RESURSA PAPEREGA DESCHISĂ

Știe cineva dacă este posibil să avem ceva de genul acesta jos, unde multiplu GRANTED_ROLE este grupat într-o singură coloană?

GRANTEE GRANTED_ROLE ACCOUNT_STATUS
PIPPO CONNECT DESCHIS
PLUTO CONNECT DESCHIS
PAPERINO DATAPUMP_IMP_FULL_DATABASE, DATAPUMP_EXP_FULL_DATABASE OPEN
RESURSA ZIOPAPERONE, CONECTARE DESCHISĂ
PAPEREGA CONNECT, RESURSA DESCHISĂ

sau dacă există un alt tabel de sistem cu același comportament? baza de date este un Oracle DB 12c

Mulțumesc mult

Michael Hampton avatar
drapel cz
Acest lucru nu este aici. Puteți încerca să postați pe site-ul nostru parte [dba.se].
Puncte:-1
drapel ht

Îmi răspund, am găsit soluția pe un alt forum specific oracol:

SELECTAȚI B.ACCOUNT_STATUS, A.GRANTEE, listagg(A.GRANTED_ROLE, ';') în cadrul grupului (comandați după A.GRANTED_ROLE) FROM DBA_ROLE_PRIVS A
ÎNSCRIEȚI-VĂ DBA_USERS B PE A.GRANTEE = B.USERNAME
WHERE B.ACCOUNT_STATUS = „DESCHIS”
GROUP BY A.GRANTEE, B.ACCOUNT_STATUS
COMANDĂ PRIN BENANT;

cheia este listagg care concatenează rezultatele lui A.GRANTED_ROLE într-un singur șir, cu ; separator.

Noroc

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.