Получение ошибки при выполнении запроса в postgrace - PullRequest
0 голосов
/ 11 июня 2019

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

    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

...