2010-01-08 12 views
16

HINWEIS: Es ist wahrscheinlich ein Duplikat, aber ich kann keine funktionierende Antwort finden.T-SQL Escape-Anführungszeichen

Folgendes ist, was ich versuche todo, notieren Sie eine ' im Wert. Wie behebe ich das?

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

Ich benutze MS SQL Server Management Studio 2008

EDIT: Ich bin ein Skript zu schreiben eine Lookup-Tabelle zu füllen (ID < -> Name).

+6

Für zukünftige Leser wird es Ihrem Code ermöglichen zu arbeiten, aber Sie sollten parametrisierte Abfragen verwenden. Dies ist in der MS SSMS-Umgebung, die der Autor verwendet, wirklich nur akzeptabel. –

Antwort

22

Dies funktioniert: -

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

Normalerweise der einzige Grund, solche hartcodierten Werte in T-SQL haben, ist in Bau Code DB wie Nachschlagetabellen initialisiert.

Andernfalls könnte dieser Code ein Ergebnis der Verkettung von Strings sein, um einige T-SQL aus einer Eingabequelle aufzubauen. Wenn dies der Fall ist, ist es sinnvoll, Wege zu finden, dies zu vermeiden, da es Ihre Anwendung für SQL-Injection-Angriffe öffnen kann.