Delete Statement

OQL Delete corresponds to the Delete statement of SQL-92:

SelectQuery qryCustomer = OQL

  .Select(NW.Customer.CustomerID)

  .From(NW.Customer)

  .Where(NW.Customer.ContactTitle == "Owner");

 

DeleteQuery delOrder = OQL

  .DeleteFrom(NW.Order)

  .Where(NW.Order.CustomerID.In(qryCustomer));

The above OQL can be written in the way of object expression as follows:

DeleteQuery delOrder = OQL

  .DeleteWhere(NW.Order == (NW.Customer.ContactTitle == "Owner"));

The above Delete statement will generate the following SQL:

The SQL statements generated as follows (taking SQL Server as an example)

DELETE FROM

  [Orders]

WHERE

  [Orders].[CustomerID] IN

    (

      SELECT [Customers].[CustomerID]

      FROM [Customers]

      WHERE

        [Customers].[ContactTitle] = 'Owner'

    )

Related Topics

OQL Statement