ASYNC Identifier??String
The ASYNC command lets you execute an SQL statement in a separate thread. It is used in conjunction with the Wait For command to get the results.
You supply the SQL statement, which is any valid SQL statement, as a String. The Identifier you must supply for the async SQL statement is used in the Wait For command and is a case-insensitive ij identifier. An identifier that does not specify a connectionName must not be the same as any other identifier for an async statement on the current connection; an identifier that specifies a connectionName must not be the same as any other identifier for an async statement on the designated connection. You cannot reference a statement previously prepared and named by the ij??Prepare command in this command.
ij creates a new thread in the current or designated connection to issue the SQL statement. The separate thread is closed once the statement completes.
ij> async aInsert 'INSERT into menu values (''entree'',''chicken'',11)';
ij> INSERT INTO menu VALUES ('dessert','ice cream',3);
1 rows inserted/updated/deleted.
ij> wait for aInsert;
1 rows inserted/updated/deleted.
-- the result of the asynchronous insert
ij> connect 'jdbc:derby:memory:dummy;create=true;user=john'
as john_conn;
ij> create table john_tbl (c int);
0 rows inserted/updated/deleted
ij> insert into john_tbl values(1),(2),(3);
3 rows inserted/updated/deleted
ij> connect 'jdbc:derby:memory:dummy;user=fred' as fred_conn;
ij(FRED_CONN)> async john_async @ john_conn 'select * from john_tbl';
ij(FRED_CONN)> wait for john_async @ john_conn;
C
-----------
1
2
3
3 rows selected
ij(FRED_CONN)>