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

Evaluar resultado de Exec

Estas en el tema de Evaluar resultado de Exec en el foro de SQL Server en Foros del Web. Hola a todos. La situación es la siguiente: En una variable tengo una operación aritmética, por ejemplo 10 + 20. Necesito ejecutar lo que contiene ...
  #1 (permalink)  
Antiguo 31/10/2007, 19:38
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 1 mes
Puntos: 1
Evaluar resultado de Exec

Hola a todos.
La situación es la siguiente:
En una variable tengo una operación aritmética, por ejemplo 10 + 20.
Necesito ejecutar lo que contiene esa variable para conocer su valor.

Ejemplo:
declare @cadena char(10)

set @cadena = '10 + 20'

exec('select ' + @cadena)

Esa es la unica manera en que logre ejecutar la operacion que esta guardada en la variable.
La cuestion es que necesito evaluar el valor que me devuelve la ejecucion de dicha variable
para hacer una o x cosa.
Por ejemplo he intentado lo siguiente:

declare @cadena char(10)

set @cadena = '10 + 20'

if exec('select ' + @cadena) > 0
begin
print 'paso'
end

Pero nada, me da un error.
La pregunta es como puedo evaluar el resultado que me da de ejecutar la operacion aritmetica que trae la variable?

Lo necesito asi porque necesito trabajar con sql dinamico.

Bueno espero recibir una ayuda.
Saludos...
  #2 (permalink)  
Antiguo 01/11/2007, 08:18
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Busqueda Re: Evaluar resultado de Exec

No se exactamente cual seria la aplicacion de lo que solicitas pero te anexo un ejemplo de como puede hacerse...

Código:
Declare @sql nvarchar(4000), @iResultado int

SET @sql = N'SET @iResultadoOUT = 0; SELECT @iResultadoOUT =  10 + 20 '


EXEC sp_executesql @sql,N'@iResultadoOUT Int OUTPUT',@iResultadoOUT = @iResultado OUTPUT

If isnull(@iResultado,0) > 0
begin
   print 'paso'
end
La duda es porque tal vez podria hacerse sin utilizar SQL Dinamico, o incluso pasarle parametros de entrada al sp_executesql....

Ok, espero te sirva.... 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.
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:54.