2010-01-08 4 views
16

ПРИМЕЧАНИЕ: Это, вероятно, дубликат, но я не могу найти рабочий ответ.T-SQL escape quote character

Следующее - это то, что я пытаюсь сделать, обратите внимание на значение '. Как это исправить?

INSERT INTO [pugraider].[dbo].[Realms]([Name]) VALUES('Aman'Thul')

Я использую MS SQL Server Management Studio 2008.

EDIT: Я пишу сценарий для заполнения таблице перекодировки (ID < -> Name).

+6

Для будущих читателей это позволит вашему коду работать, но вы должны использовать параметризованные запросы. Это действительно приемлемо только в среде MS SSMS, которую использует автор. –

ответ

22

Это будет работать: -

INSERT INTO [pugraider].[dbo].[Realms]([Name]) VALUES('Aman''Thul') 

Обычно единственная причина, чтобы иметь такие значения в жёстко прописанные T-SQL в БД код строительства, такие как инициализацией посмотреть таблицы.

В противном случае этот код может быть результатом конкатенации строк для создания некоторого T-SQL из некоторого источника ввода. Если это так, то стоит найти способы избежать этого, так как он может открыть ваше приложение для атак SQL-инъекций.