2015-02-17 6 views
2

Я работаю над простым запросом на обновление, и при выполнении запроса я вижу ошибку ниже. Я совершенно ясно понимаю, что это не должно быть проблемой длины. В чем может быть проблема.Sql Query throws Идентификатор слишком длинный. Максимальная длина равна 128

Ошибка:

The identifier that starts with identifier is too long. Maximum length is 128

Мои запросы:

update dbo.DataSettings set 
Query ="/Details?$filter=(Status ne 'yes' and Status ne 'ok')&$expand=name,Address/street,phone/mobile&$orderby=details/Id desc" 
where id=5 
+0

Это не будет дублировать вопрос, потому что ошибка может быть такой же, но вопрос по-другому. – Kurkula

+0

На самом деле проблема такая же, взгляните на нее. – potashin

ответ

10

Используйте одинарные кавычки и избежать ваши цитаты в тексте с двумя одинарными кавычками:

update dbo.DataSettings set 
set Query= '/Details?$filter=(Status ne ''yes'' and Status ne ''ok'')&$expand=name,Address/street,phone/mobile&$orderby=details/Id desc' 
where id=5 
1

Вы должны использовать одиночные кавычки ' (и избежать те, которые находятся в строке с обратной косой черты \), потому что теперь вы назначаете Query к идентификатор (в этом случае имя столбца), и если бы он был даже правильного размера для идентификатора, вероятно, вы получите ошибку, например, недопустимое имя столбца:

UPDATE dbo.DataSettings 
SET Query ='/Details?$filter=(Status ne \'yes\' and Status ne \'ok\')&$expand=name,Address/street,phone/mobile&$orderby=details/Id desc' 
WHERE id = 5 
Смежные вопросы