2010-01-08 9 views
16

NOTA: Probablemente sea un duplicado pero no puedo encontrar una respuesta que funcione.Carácter de comillas de escape de T-SQL

Lo que estoy intentando hacer a continuación, observe un ' en el valor. ¿Cómo puedo solucionar esto?

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

que utiliza MS SQL Server Management Studio 2008.

EDIT: Estoy escribiendo un guión para rellenar una tabla de búsqueda (ID < -> Nombre).

+6

Para los lectores futuros, esto permitirá que su código funcione, pero debería usar consultas parametrizadas. Esto solo es aceptable en el entorno MS SSMS que usa el autor. –

Respuesta

22

Esto funcionará: -

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

Normalmente la única razón para tener este tipo de valores codificados en T-SQL está en el código de construcción DB tales como la inicialización de tablas de consulta.

De lo contrario, este código podría ser el resultado de la concatenación de cadenas para crear algunos T-SQL a partir de alguna fuente de entrada. Si ese es el caso, vale la pena buscar formas de evitarlo, ya que puede abrir su aplicación a los ataques de inyección SQL.

Cuestiones relacionadas