В настоящее время я пишу приложение, которое обращается к google bigquery через их библиотеку "@ google-cloud / bigquery": "^ 2.0.6". В одном из моих запросов у меня есть предложение where, где мне нужно передать список идентификаторов. Если я использую UNNEST, как в их примере, и передаю массив строк, он работает нормально.
https://cloud.google.com/bigquery/docs/parameterized-queries
Тем не менее, я обнаружил, что UNNEST может быть очень медленным и просто хочет использовать IN самостоятельно и передать список идентификаторов строк. Независимо от того, какой формат списка строк я отправляю, запрос возвращает нулевые результаты. Я думаю, что это из-за того, как они конвертируют параметры, чтобы избежать sql внедрения. Я должен использовать параметр, потому что я сам хочу избежать атак SQL на мое приложение. Если я передаю только один идентификатор, он работает нормально, но если я передаю список, он взрывается, поэтому я думаю, что это как-то связано с форматированием, но я знаю, что мой формат правильный с точки зрения того, что IN обычно ожидал бы, т.е. IN ('' , '')
Кто-нибудь смог просто передать параметр в IN и он работает? то есть IN (@idParam)?