Skip to main content

SLAM_query_soap

Overview

This command uses the Salesforce SOAP API to query the object. The SOAP API is suited to smaller volumes of records (either smaller tables or selective filtering). If an sObject name is provided instead of a SOQL query, all fields and records will be returned for that object.

Parameters

NameTypeDefaultDescription
@queryNVARCHARRequiredsObject name or SOQL query string. When just an sObject name is passed, queries all records & fields
@tableVARCHARRequiredTarget SQL table name for results
@batch_sizeINT2000Number of records per batch (maximum 2000 for SOAP API)
@queryallBIT0When 1, includes deleted/archived records
@exists_actionVARCHAR(20)SLAM_Settings.default_exists_actionControls the behavior when the destination table name, specified by @table is already used. If NULL, uses the value from SLAM_Settings.default_exists_action (defaulted to 'drop' during initial setup).

Valid options:

  • 'drop' - Drop the existing object and create a new one (default)
  • 'rename' - Rename the existing object by appending a timestamp suffix (format: _YYYYMMDDTHHMMSS_MMM)
  • 'fail' - Throws a SQL exception if the destination object already exists

Usage Examples

Retrieve all records and fields from the Account object:

EXEC dbo.SLAM_query_soap
@query = 'Account',
@table = 'Account_query'

Query with custom batch size for performance tuning:

EXEC dbo.SLAM_query_soap
@query = 'SELECT Id, Name, StageName, Amount, Owner.Name FROM Opportunity WHERE StageName = ''Closed Won''',
@table = 'Opportunity_query',
@batch_size = 1000

Retrieve deleted records, with batch size of 500:

EXEC dbo.SLAM_query_soap
@query = 'SELECT Id, Name, Email, Status, IsDeleted FROM Lead',
@table = 'Lead_queryall',
@batch_size = 500,
@queryall = 1