SE PUEDE PARAMETRIZAR UNA TABLA DENTRO DE UNA FUNCION

07/11/2003 - 19:42 por ALBERTO GUERRERO ZARO | Informe spam
He estado trabajando con funciones que devuelven tablas, me gustaría saber
si es posible crear una FUNCION con un parametro de ingreso que haga
referencia a una tabla manejada en la instruccion select dentro de la misma
FUNCION.

Por ejemplo:

CREATE FUNCTION dbo.tab_mesano()
RETURNS TABLE
AS
RETURN (
SELECT * FROM reg112003
)


Que la tabla "reg112003" ; sea parametrizable, debido que mi aplicacion
genera tablas mensuales.
Lo he visto en los procedimientos almacenados con la instruccion SET y luego
EXEC, pero hasta ahora no en FUNCIONES.

Gracias de Todas formas.

Alberto Guerrero

Copiapó-Chile

Preguntas similare

Leer las respuestas

#6 Mauricio Sthandier R.
08/11/2003 - 01:56 | Informe spam
como rareza, puedes ejecutar funciones escalares con EXEC.
Para qué, no sé, pero si es de familia integer recuperas el valor de la
función en el parámetro de retorno.

pez altar hendido ala sequedad dadivosa
"Diego Uribe" escribió en el mensaje
news:%
Siendo funcion toca que le mandes los parametros, no que utilices exec

ejemplo si se creo la funcion factorial(x) para llamarla tocaria hacer:

Select dbo.Factorial(5)

Saludos
Respuesta Responder a este mensaje
#7 Fernando G. Guerrero
08/11/2003 - 09:42 | Informe spam
Carlos y yo publicamos algunos ejemplos de cómo "ejecutar" funciones
escalares en nuestro libro hace más de dos años, y puedes obtener ejemplos
en http://www.sqlserverbyexample.com.

Utilizar EXEC es el único modo de ejecutar una función escalar cuando se
quieren evitar parámetros opcionales, ya que en la sintaxis habitual debes
dar un valor para cada parámetro o la constante DEFAULT.

Por otro lado, este no es sino un signo más de que las funciones escalares
no son más que procedimientos almacenados con una sintaxis de llamada muy
específica.

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

"Comparte lo que sabes, aprende lo que no sepas"

"Mauricio Sthandier R." <mauricio@@sthandier.net> wrote in message
news:elEY%
como rareza, puedes ejecutar funciones escalares con EXEC.
Para qué, no sé, pero si es de familia integer recuperas el valor de la
función en el parámetro de retorno.

pez altar hendido ala sequedad dadivosa
"Diego Uribe" escribió en el mensaje
news:%
> Siendo funcion toca que le mandes los parametros, no que utilices exec
>
> ejemplo si se creo la funcion factorial(x) para llamarla tocaria hacer:
>
> Select dbo.Factorial(5)
>
> Saludos


Respuesta Responder a este mensaje
#8 ALBERTO GUERRERO ZARO
08/11/2003 - 12:51 | Informe spam
Es exactamente el libro que me compré un tiempo atrás y me estoy guiando en
este asunto, gracias.
Saludos Cordiales.
Alberto Guerrero



"Fernando G. Guerrero" escribió en el mensaje
news:
Carlos y yo publicamos algunos ejemplos de cómo "ejecutar" funciones
escalares en nuestro libro hace más de dos años, y puedes obtener ejemplos
en http://www.sqlserverbyexample.com.

Utilizar EXEC es el único modo de ejecutar una función escalar cuando se
quieren evitar parámetros opcionales, ya que en la sintaxis habitual debes
dar un valor para cada parámetro o la constante DEFAULT.

Por otro lado, este no es sino un signo más de que las funciones escalares
no son más que procedimientos almacenados con una sintaxis de llamada muy
específica.

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

"Comparte lo que sabes, aprende lo que no sepas"

"Mauricio Sthandier R." <mauricio@@sthandier.net> wrote in message
news:elEY%
> como rareza, puedes ejecutar funciones escalares con EXEC.
> Para qué, no sé, pero si es de familia integer recuperas el valor de la
> función en el parámetro de retorno.
>
> pez altar hendido ala sequedad dadivosa
> "Diego Uribe" escribió en el mensaje
> news:%
> > Siendo funcion toca que le mandes los parametros, no que utilices exec
> >
> > ejemplo si se creo la funcion factorial(x) para llamarla tocaria


hacer:
> >
> > Select dbo.Factorial(5)
> >
> > Saludos
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida