Получение ошибки при выполнении запроса в 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