ODBC Driver for AlloyDB

Build 23.0.8790

Executing Queries

This section describes how to execute queries to the Salesforce linked server from any tool that can connect to SQL Server.

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

[<Linked Server Name>].[<DSN Name>].[<Schema Name>].[<Table Name>] 
where
  • Linked Server Name is the name of the linked server that you created. This is normally the service name.
  • DSN Name is the name of the data source.
  • Schema Name is the name of the system schema or user-defined schema.
  • Table Name is the name of the table you are copying data from.

SELECT Statements

To create new records:
SELECT * FROM [Linked Server Name].[CData AlloyDB Sys].[AlloyDB].["alloydb"."schema01".Orders] WHERE ShipCountry = 'USA'
Note: If the data source supports case-sensitive identifiers, it is not possible to query tables of the same name that only vary by casing (ex: Account and ACCOUNT in the same schema). This is due to the fact that SQL Server treats identifiers as case-insensitive, so multiple tables of the same name in a single schema are fundamentally incompatible with the SQL Server protocols.

INSERT, UPDATE, and DELETE Statements

To insert, update, or delete a single row of data against a writeable database, use the four-part name. For example:

INSERT INTO [Linked Server Name].[CData AlloyDB Sys].[AlloyDB].["alloydb"."schema01".Orders] (ShipCountry) VALUES ('USA');

Bulk Operations

To perform bulk operations against data sources that permit writes, use syntax similar to the following:

To run a bulk INSERT using a SELECT query in place of a VALUES list:

INSERT INTO [Linked Server Name].[CData AlloyDB Sys].[AlloyDB].["alloydb"."schema01".Orders] ([ShipCountry])
SELECT [ShipCountry] from [CData].[dbo].[Local_"alloydb"."schema01".Orders]
To run a bulk UPDATE using a JOIN with a local table:
UPDATE [Linked Server Name].[CData AlloyDB Sys].[AlloyDB].["alloydb"."schema01".Orders] SET ["alloydb"."schema01".Orders].[ShipCountry] = CData.dbo.[Local_"alloydb"."schema01".Orders].[Local_ShipCountry]

FROM CData.dbo.[Local_"alloydb"."schema01".Orders] INNER JOIN [Linked Server Name].[CData AlloyDB Sys].[AlloyDB].["alloydb"."schema01".Orders] ON CData.dbo.[Local_"alloydb"."schema01".Orders].[Id] = ["alloydb"."schema01".Orders].[Id]
To run a bulk DELETE using the IN filter with sub-SELECT query.
DELETE FROM [Linked Server Name].[CData AlloyDB Sys].[AlloyDB].["alloydb"."schema01".Orders] WHERE [Id] IN (SELECT [Id] FROM CData.dbo.Local_"alloydb"."schema01".Orders)

Execute Stored Procedures

Before you can execute stored procedures, you must first enable RPC and RPC Out in the settings for the linked server. After RPC and RPC Out are enabled, use these commands to run the stored procedure:

DECLARE @RunStoredProcSQL VARCHAR(1000);
SET @RunStoredProcSQL = 'EXEC SelectEntries ObjectName=''Account''';
EXEC (@RunStoredProcSQL) AT [Linked Server Name];

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