Se non si è un amministratore di sistema, è possibile creare, eseguire ed
eliminare le proprie query private memorizzate. È possibile, inoltre, utilizzare query pubbliche memorizzate create dall'amministratore del sistema.
- Creare una query memorizzata privata.
Ad esempio, il seguente frammento di codice crea una query memorizzata per istanze di processo e la salva con un nome specifico. Se non viene specificato un ID utente, si presuppone che la query memorizzata sia una query privata memorizzata per l'utente collegato.
process.createStoredQuery("CustomerOrdersStartingWithA",
"DISTINCT PROCESS_INSTANCE.PIID, PROCESS_INSTANCE.NAME",
"PROCESS_INSTANCE.NAME LIKE 'A%'",
"PROCESS_INSTANCE.NAME",
(Integer)null, (TimeZone)null);
Questa query restituisce un elenco ordinato di tutti i nomi delle istanze di processo che iniziano con la lettera A, con i PIID (process
instance ID) associati.
- Eseguire la query definita dalla query memorizzata.
QueryResultSet result = process.query("CustomerOrdersStartingWithA",
new Integer(0));
Questa operazione restituisce gli oggetti che corrispondono ai criteri. In questo caso, tutti gli ordini del cliente che iniziano con la lettera A.
- Ottenere un elenco di nomi delle query memorizzate a cui l'utente collegato può accedere.
Il seguente frammento del codice illustra come ottenere
le query memorizzate private e pubbliche a cui può accedere l'utente.
String[] storedQuery = process.getStoredQueryNames();
- Visualizzare i dettagli di una query specifica.
Il seguente
frammento del codice illustra come visualizzare i dettagli della query CustomerOrdersStartingWithA
di proprietà dell'utente Smith.
StoredQuery storedQuery = process.getStoredQuery
("CustomerOrdersStartingWithA");
String selectClause = storedQuery.getSelectClause();
String whereClause = storedQuery.getWhereClause();
String orderByClause = storedQuery.getOrderByClause();
Integer threshold = storedQuery.getThreshold();
String owner = storedQuery.getOwner();
- Eliminare una query privata memorizzata.
Il seguente frammento di codice illustra come eliminare una query privata memorizzata.
process.deleteStoredQuery("CustomerOrdersStartingWithA");