SQL Server - Duda al concatenara para execute

 
Vista:

Duda al concatenara para execute

Publicado por alonso (21 intervenciones) el 26/06/2007 19:35:22
Buenas tardes atodos , estouy usando el sg scrip
para actualizar una tabla

Declare @consulta nchar (1000)
Declare @cantidad nchar (500)
set @cantidad = '100'
set @consulta = 'update ventas set saldo = saldo - (cast (' + @cantidad+ 'as decimal (18,2))) where codventa = 2'
EXECUTE SP_EXECUTESQL @consulta

---
pero tengo problemas cuando el campo a igualar es tipo char ,como hago para agregarle los signos de apostrofe ' ' a la variable codigo

Declare @consulta nchar (1000)
Declare @cantidad nchar (500)
Declare @codigo nchar (100)
--select * from TVentas
set @codigo = 'ART_001'
set @cantidad = '100'
set @consulta = 'update Articulos set stock_actual = stock_actual - (cast (' + @cantidad+ 'as decimal (18,2))) where codarticulo = ' + @codigo
EXECUTE SP_EXECUTESQL @consulta

/* y algo mas para q sirven estos comandos
SET ANSI_NULLS ON
GO
SET ANSI_WARNINGS ON
*/

Saludos desde Lima ,y gracias por la ayuda q me puedan brindar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda al concatenara para execute

Publicado por Isaias (3308 intervenciones) el 26/06/2007 21:19:26
Debes utilizar DOBLE apostofre o bien

WHERE codarticulo = '+char(39)+@codigo+char(39)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda al concatenara para execute

Publicado por alonso (21 intervenciones) el 26/06/2007 22:45:34
Gracias Isaias ,
el apostrofe lo pase a una variable

Declare @apost char (1)
set @apost =char(39)

Tengo otra duda q acabo de poner en una nueva nota
espero que tambien me puedas ayudar

Saludos desde Lima
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar