Ошибка синтаксиса запроса Redshift (при использовании SQL Workbench): есть ли простой способ go прямо в «позицию», упомянутую в ошибке? - PullRequest
0 голосов
/ 26 марта 2020

Существует ли простой способ go непосредственно в положение, указанное в сообщении об ошибке в SQL Workbench / Redshift (ошибка указана под кодом)? Спасибо!

Вот ошибка:

Произошла ошибка при выполнении команды SQL:

выберите application_id, случай, когда stage_name in ('Просмотр приложения', «New Lead», «Recruiter Review», «Reacher Out», ...

Amazon Недопустимая операция: синтаксическая ошибка в или около ")" Позиция: 201 ; [SQL State = 42601, DB Errorcode = 500310] 1 оператор не выполнен.

Время выполнения: 0,16 с

Вот запрос:

    select
    application_id,
    case when stage_name in (
      'Application Review',
      'New Lead',
      'Recruiter Review',
      'Reached Out',
      'Make Decision',
      'Resume Review',
    ) then 'Application Review' 
    when stage_name in ('Preliminary Phone Screen', 'Recruiter Screen','Handoff','Researcher Screen','Exploratory') then 'Recruiter Screen' 
    when stage_name in (
      'Phone Interview',
      'Phone Interview 2'
      'Phone Interview #1',
      'Phone Interview #2',
      'Phone/Initial Interview #1',
      'Phone/Initial Interview #2',
      'Hiring Manager Review',
      'Hiring Manager Screen',
      'Final Interview',
      'Take Home Test',
      'Initial Interview') 
      then 'Initial Interview' 
    when stage_name in 
    ( 'Onsite Interview #1',
      'Face to Face',
      'Face to Face 2',
      'Onsite Interview #2',
      'Onsite Interview') 
      then 'Onsite Interview' 
    when stage_name = 'Homework' then 'Homework' when stage_name in 
    ( 'Post Onsite',
      'Reference Check',
      'Hiring Review',
      'Hiring Review Debrief',
      'Hiring Review/Debrief',
      'Post Hiring Review / Debrief',
      'Post Hiring Review/Post Debrief',
      'Hiring Review / Debrief',
      'Post Hiring Review / Post Debrief',
      'Team Match') 
      then 'Post Onsite' 
    when stage_name = 'Byteboard Interview' then 'Byteboard Interview' 
    when stage_name IN ('Filtered','Filtered.ai Matching') then 'Filtered' 
    when stage_name = 'HackerRank Test' then 'HackerRank Test' 
    when stage_name = 'ClassMarker' then 'ClassMarker'
when stage_name = 'Offer' then 'Offer' 
else 'Other' end as app_Stage_Name_group,
    min(entered_on) as entered_on,
    max(exited_on) as exited_on
  from
    application_stages
  where
    entered_on is not null
  group by
    1,
    2

1 Ответ

1 голос
/ 26 марта 2020

Если вы используете Build 125, вы можете настроить это через workbench.settings, используя те же настройки, которые используются для Postgres для определения позиции ошибки.

Редактируйте файл с помощью обычного текстового редактора и добавьте эти две строки:

workbench.db.redshift.errorinfo.regex.position=(?i)position:\\s+[0-9]+
workbench.db.redshift.errorinfo.leading.comment.included=true

Затем курсор должен автоматически перейти на позицию в редакторе, указанную в сообщении об ошибке.

Файл настроек находится в конфигурации каталог . Точное местоположение отображается в диалоговом окне about и диалоге параметров.

Перед редактированием файла обязательно закройте SQL Workbench / J.

...