Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Problema con apostrofe

Estas en el tema de Problema con apostrofe en el foro de SQL Server en Foros del Web. Hola a todos, tengo un problemita al usar apostrofes en SQL. Tengo este procedimiento almacenado: Create Pocedure usp_Actualizar @Audi_User Varchar(200) As Declare @StrSql Varchar(Max) Set ...
  #1 (permalink)  
Antiguo 10/02/2010, 11:16
 
Fecha de Ingreso: octubre-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Problema con apostrofe

Hola a todos, tengo un problemita al usar apostrofes en SQL.
Tengo este procedimiento almacenado:

Create Pocedure usp_Actualizar
@Audi_User Varchar(200)
As
Declare @StrSql Varchar(Max)
Set @StrSql ='Update Det_Meta_x_Mes Set Val_Pry=' + @Audi_User
Exec (@StrSql)

Pero me bota error "Invalid Column User1" donde User1 es el valor de @Audi_User, yo creo que es porque el valor de @Audi_User es un varchar deberia estar entre apostrofes, pero ya que yo guardo toda mi instruccion en la variable @StrSql como podria concatenar la cadena mas el valor de @Audi_User para que me quede de la siguiente manera:

Update Det_Meta_x_Mes Set Val_Pry='@Audi_User'
  #2 (permalink)  
Antiguo 10/02/2010, 11:47
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Respuesta: Problema con apostrofe

Es una de las desventajas de trabajar con Execute....

Es mejor utilizar el sp.. sp_executesql , ahi le puedes enviar los parametros y te genera plan de ejecucion...


Código:
Create Pocedure usp_Actualizar
@Audi_User Varchar(200)
As
Declare @StrSql NVARCHAR(MAX)


SET @StrSql ='Update Det_Meta_x_Mes Set Val_Pry = @Val_Pry'  

EXECUTE SP_EXECUTESQL @StrSql, 
                      N'@Val_Pry Varchar(200)', @Val_Pry = @Audi_User
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 10/02/2010, 14:36
 
Fecha de Ingreso: octubre-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Problema con apostrofe

Muchas gracias, pude solucionarlo.
  #4 (permalink)  
Antiguo 14/02/2010, 22:47
 
Fecha de Ingreso: enero-2010
Ubicación: SJM Lima - Peru
Mensajes: 55
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Problema con apostrofe

hola tambien pudiste concatenar tus cadenas para luego ejecutarlas prueba esto y veras q es facil .: SELECT CHAR(39)+'jhon'+CHAR(39) :.
el char lo uso como funcion y no el char como tipo de datos el codigo ascii del apostrofe es ALT + 39
aqui esta mi correo [email protected] Lima-Peru.
  #5 (permalink)  
Antiguo 15/02/2010, 07:30
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Respuesta: Problema con apostrofe

si pudo concatenar, aunque no es necesaria la funcion char puedes poner apostrofes dobles..

Código:
SET  @Cadenita = 'Ejemplo de apostrofos: ''dentro de'' '

En el ejemplo solo hay parametros de entrada para el query dinamico, cuando requieres parametros de salida, esto de concatenar ya no sirve..


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.

Etiquetas: apostrofes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:01.