Проблема с SQL-запросом - PullRequest
0 голосов
/ 25 марта 2010

INSERT INTO [Задачи] ([Логин] ,[Тип] ,[Фильтр] ,[Толковый словарь] [Описание]) * * +1001

Select N'Anonymous',4,'SomeTable.targetcode in (select Code from cities where countrycode in ('TN')) and SomeTable.SomeValue in ('13','15')',3,N'Cities from tunis'
Union All
...

[Словарь] - это часть запроса, которая мне нужна для работы на моем сервере.

Я получаю:

Incorrect syntax near ')) and SomeTable.SomeValue in (13,15)'.

Как исправить эту ошибку ??

Ответы [ 2 ]

4 голосов
/ 25 марта 2010

Это потому, что у вас есть апострофы в значении. В частности, ваша строка фильтра включает в себя апострофы, которые нужно экранировать, удваивая их:

INSERT INTO [Tasks]
       ([LoginName]
       ,[Type]
       ,[Filter]
       ,[Dictionary]
       ,[Description])

Select N'Anonymous',4,'SomeTable.targetcode in (select Code from cities where countrycode in (''TN'')) and SomeTable.SomeValue in (''13'',''15'')',3,N'Cities from tunis'
Union All
1 голос
/ 25 марта 2010

Немного неясно, что именно вы пытаетесь сделать, по номинальной стоимости вы пытаетесь вставить часть предложения where в таблицу.

Что вас ловит, так это вход ('TN'), потому что кавычки в этой части заканчивают внешние кавычки. Попробуйте (''TN'')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...