ODBC Driver for Odoo

Build 24.0.9060

Executing Queries

This section describes how to execute queries using MySQL remoting from any tool that can connect to MySQL.

When executing queries, use a two-part name, in the format:

[<Schema Name>].[<Table Name>] 
where
  • Schema Name is the name of the system schema or user-defined schema. (This is normally the service name.)
  • Table Name is the name of the table you are copying data from.

SELECT Statements

To create new records:
SELECT * FROM [Odoo].[res_users] WHERE company_name = 'Company Inc.' 
Note: MySQL treats identifiers as case-insensitive, even if the data source supports case-sensitive identifiers. This can be a problem when the database contains multiple tables of the same name in a single schema, because when using MySQL it is not possible to query tables of the same name that only vary by upper or lower case-sensitive (for example, a schema with one table named Account, and a second table named ACCOUNT).

INSERT, UPDATE, and DELETE Statements

To insert, update, or delete a single row of data against a writeable database, use the two-part name. For example:
INSERT INTO [Odoo].[res_users] (company_name) VALUES ('Company Inc.'); 

Bulk Operations

To perform bulk operations, use syntax similar to the following:

You can run a bulk INSERT using a SELECT query in place of a VALUES list.

INSERT INTO [Odoo].[res_users] ([company_name]) 
SELECT [company_name] FROM [Local_res_users] 
You can run a bulk UPATE using a JOIN with a local table.
UPDATE [Odoo].[res_users]  
INNER JOIN [Local_res_users] ON [Local_res_users].[id] = [Odoo].[res_users].[id] 
SET [Odoo].[res_users].[company_name].[Local_company_name] 
You can run a bulk DELETE using the IN filter with sub-SELECT query.
DELETE FROM [Odoo].[res_users WHERE [id] IN (SELECT [id] FROM Local_res_users) 

Execute Stored Procedures

To execute the stored procedure, use:
Call CreateJob('Insert')

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060