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

Envío de argumentos a una funcion

Estas en el tema de Envío de argumentos a una funcion en el foro de SQL Server en Foros del Web. Hola, Tengo una función (con valores de tabla) que utiliza funciones (con valores escalares) para generar una tabla con valores específicos, pero en alguna de ...
  #1 (permalink)  
Antiguo 18/01/2017, 19:22
 
Fecha de Ingreso: febrero-2016
Mensajes: 48
Antigüedad: 8 años, 1 mes
Puntos: 0
Envío de argumentos a una funcion

Hola,

Tengo una función (con valores de tabla) que utiliza funciones (con valores escalares) para generar una tabla con valores específicos, pero en alguna de las llamadas a funciones escalares debo enviar como parámetros alguno de los parámetros que ya obtuve de una anterior llamada a una función escalar.

Mi duda es si hay forma de guardar los valores ya entregados por una función escalar, para no tener que invocar nuevamente a una función desde otra función, para enviar el parámetro.

Sería algo como esto:

Código SQL:
Ver original
  1. INSERT INTO @TablaTemporal  (campoA, CampoB, CampoC, CampoD)
  2. SELECT a.dato1,
  3.          b.dato2,
  4.          funcionPrimera(a.dato1,b.dato2),
  5.          funcionSegunda(b.dato2, funcionPrimera(dato1,dato2))
  6. FROM TablaGeneral a,TablaAux b
  7. WHERE a.id=b.id


La idea es que quede algo así:

Código SQL:
Ver original
  1. INSERT INTO @TablaTemporal  (campoA, CampoB, CampoC, CampoD)
  2. SELECT a.dato1,
  3.          b.dato2,
  4.          funcionPrimera(a.dato1,b.dato2),
  5.          funcionSegunda(b.dato2, dato_funcionPrimera)
  6. FROM TablaGeneral a,TablaAux b
  7. WHERE a.id=b.id
  #2 (permalink)  
Antiguo 19/01/2017, 08:06
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Envío de argumentos a una funcion

Pues depende de los datos que te regrese la funcion, podrias guardar en una tabla temporal los valores de la funcion 1, y despues usar esa tabla temporal para mandar los valores a la segunda funcion
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: argumentos, funcion, tabla, temporal
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 19:59.