Получение ошибки при выполнении запроса в postgrace

Я совершенно новичок в постгрейсе. Как часть моей работы, я получил ниже запрос на исполнение:

    select external_source as DownloadUrl, external_status as 
    DownloadStatus, external_source as DownloadId from  downloadrefresh
  where subscriberid=@SubscriberId and
   profileid=@ProfileId and        channeltype=@ChannelType and
   messagetypeid=@MessageType and LENGTH(external_source) > 0;

При запуске этого я получил ошибку ниже:

Ошибка SQL [42883]: ОШИБКА: оператор не существует: bigint =@ bigint Подсказка: ни один оператор не соответствует данному имени и типу аргумента. Возможно, вам придется добавить явные приведения типов. Позиция: 166

Я попытался с объявлением переменных, как показано ниже:

    do $$
    declare
    SubscriberId  int;
    profileid   int;
    channeltype  int;
   messagetype  int;

   begin
    select external_source as DownloadUrl,
   external_status as DownloadStatus,
   external_source as DownloadId
    from  downloadrefresh
    where subscriberid=@SubscriberId and
   profileid=@ProfileId and        channeltype=@ChannelType and
   messagetypeid=@MessageType and LENGTH(external_source) > 0;


  end $$

Затем я получаю сообщение об ошибке ниже:

    SQL Error [42702]: ERROR: column reference "subscriberid" is ambiguous
   Detail: It could refer to either a PL/pgSQL variable or a table column.
   Where: PL/pgSQL function inline_code_block line 9 at SQL statement

Может кто-нибудь, пожалуйста, помогите мне это. Как я могу бежать выше sql

0 ответов

Другие вопросы по тегам