GETDELETED Statements
You can issue the GETDELETED query to retrieve all records deleted from the live data for the time range specified. This query accepts a datetime value as a filter. You can also use the statement without a filter.
When used on LineItem tables or other 'child entities', GETDELETED instead returns the parent records that have been modified rather than information about deleted child records. This is a limitation of the QuickBooks Online api.
GETDELETED FROM <table_name>
GETDELETED FROM <table_name> WHERE <search_condition>
<search_condition> ::=
{
<expression> { = | < | <= | > | >= } [ <expression> ]
} [ { AND | OR } ... ]
<expression> ::=
| @ <parameter>
| ?
| <literal>
String cmd = "GETDELETED FROM Customers WHERE [MetaData_LastUpdatedTime]>'2018-06-08T06:53:38-07:00'"; PreparedStatement pstmt = connection.prepareStatement(cmd); ResultSet rs = pstmt.getResultSet(); while(rs.next()){ System.out.println(rs.getString("Id")); } connection.close();Note: By putting a CACHE command in front of the query, you can update the cache to remove all values that have been deleted from the data source. This is shown in the query below:
CACHE GETDELETED FROM [TableName]