2010-03-25 2 views
0

INSERT INTO [Задачи] ([LoginName] , [Type] , [Фильтр] [Словарь] [Описание])Проблема с SQL запроса

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)'. 

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

ответ

4

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

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

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

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