Я выполняю процедуру в SQL Server:
alter procedure sp_selectfFriends_by_cities
(
@txt_id_usuarios varchar(300)
)
as
begin
declare @sql varchar(300)
set @sql = 'select
a.int_id_usuario,
a.int_id_cidade,
b.txt_nome_cidade,
b.txt_nome_estado
from
tb_cidades_visitadas a
left join
tb_cidades
b on b.int_id_cidade = a.int_id_cidade
where int_id_usuario in (' + @txt_id_usuarios + ')'
execute(@sql)
end
Где @txt_id_usuarios - список пользователей, разделенных запятыми, а поле int_id_usuario - тип BIGINT.
то есть:
'6663225047,1122675730,1591119304,1664930592,1685923789,100000235882380,100000292471037,100000466411115'
Когда я пытаюсь выполнить его, передавая эту строку в качестве параметра, он возвращает мне следующее сообщение об ошибке:
Неверный синтаксис рядом с '1685923789'.
Но НЕТ неправильного синтаксиса.
Незнакомец, если я уберу некоторые идентификаторы, это работает.
То есть:
'6663225047,1122675730,1591119304,1664930592'
Работает отлично!
Есть идеи?