Как я могу использовать select * в запросе SOQL в Salesforce?

#salesforce #apex #soql

#система Salesforce #apex #soql

Вопрос:

Я пытаюсь запустить select в системе Salesforce следующим образом:

      SELECT [Account].* FROM [Account] WHERE [Account].Id IN ('123456789012345678')
 

но выдает ошибку: «Неизвестная ошибка синтаксического анализа запроса»
Как я могу сделать этот выбор?

Ответ №1:

SOQL — это не SQL. Синтаксис SQL, который вы используете здесь, недопустим в системе Salesforce. Вы можете изучить основы SOQL в разделе «Писать запросы SOQL» на Trailhead или в справочнике SOQL и SOSL.

До выпуска Salesforce Spring ’21 SELECT * подстановочный знак не поддерживается. Вы должны указать все поля явно. Как только ваша организация будет обновлена до Spring ’21 (на момент написания этой статьи выпуск продолжается), вы сможете использовать FIELDS(ALL) . На этом этапе ваш запрос будет выглядеть следующим образом:

  SELECT FIELDS(ALL) FROM Account WHERE Id IN ('123456789012345678') 
 

Обратите внимание, что для подключения к Salesforce необходимо использовать API версии 51.0, чтобы использовать эту функцию. Вы можете вернуть до 200 записей.

Комментарии:

1. спасибо за обновление. При дальнейшем чтении это выглядит так, как 12 февраля: все организации теперь будут на Spring ’21!