Se puede con una funcion

19/08/2005 - 18:26 por Alfredo Crisostomo | Informe spam
Se puede hacer una funcion a la cual yo le mande un parametro digamos
@CLIENTE y me devuelva los registros de la tabla CLIENTES donde
CLIENTES.cliente=@CLIENTE ?

Lo quiero en una funcion y no en un SP porque pienso poder usarla como tabla
en muchas otras querys ...

se puede ?

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
19/08/2005 - 18:43 | Informe spam
Claro que si. Es la forma adecuada de simular una vista con parametros.

Ejemplo:

use northwind
go

create function dbo.ufn_customers_from_country (
@country nvarchar(15)
)
returns table
as
return (
select customerid, companyname, country
from dbo.customers
where country = @country
)
go

select
*
from
dbo.ufn_customers_from_country('Spain')
go

drop function dbo.ufn_customers_from_country
go

AMB


"Alfredo Crisostomo" wrote:

Se puede hacer una funcion a la cual yo le mande un parametro digamos
@CLIENTE y me devuelva los registros de la tabla CLIENTES donde
CLIENTES.cliente=@CLIENTE ?

Lo quiero en una funcion y no en un SP porque pienso poder usarla como tabla
en muchas otras querys ...

se puede ?



Respuesta Responder a este mensaje
#2 Miquel
19/08/2005 - 21:28 | Informe spam
hola,
ya puestos, me podrias decir, por favor, como se podria utilizar la tabla
devuelta por la funcion desde dentro de un SP?
Como se puede hacer un select con un join de la tabla devuelta con otra
tabla?

Gràcias

"Alejandro Mesa" escribió en el
mensaje news:
Claro que si. Es la forma adecuada de simular una vista con parametros.

Ejemplo:

use northwind
go

create function dbo.ufn_customers_from_country (
@country nvarchar(15)
)
returns table
as
return (
select customerid, companyname, country
from dbo.customers
where country = @country
)
go

select
*
from
dbo.ufn_customers_from_country('Spain')
go

drop function dbo.ufn_customers_from_country
go

AMB


"Alfredo Crisostomo" wrote:

> Se puede hacer una funcion a la cual yo le mande un parametro digamos
> @CLIENTE y me devuelva los registros de la tabla CLIENTES donde
> CLIENTES.cliente=@CLIENTE ?
>
> Lo quiero en una funcion y no en un SP porque pienso poder usarla como


tabla
> en muchas otras querys ...
>
> se puede ?
>
>
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
19/08/2005 - 21:48 | Informe spam
Miquel,

La usas como usas una vista o una tabla cualquiera.

Ejemplo:

use northwind
go

select
a.customerid, a.companyname, a.country,
oh.orderid, oh.orderdate
from
dbo.ufn_customers_from_country('Spain') as a
inner join
dbo.orders as oh
on a.customerid = oh.customerid
go


AMB

"Miquel" wrote:

hola,
ya puestos, me podrias decir, por favor, como se podria utilizar la tabla
devuelta por la funcion desde dentro de un SP?
Como se puede hacer un select con un join de la tabla devuelta con otra
tabla?

Gràcias

"Alejandro Mesa" escribió en el
mensaje news:
> Claro que si. Es la forma adecuada de simular una vista con parametros.
>
> Ejemplo:
>
> use northwind
> go
>
> create function dbo.ufn_customers_from_country (
> @country nvarchar(15)
> )
> returns table
> as
> return (
> select customerid, companyname, country
> from dbo.customers
> where country = @country
> )
> go
>
> select
> *
> from
> dbo.ufn_customers_from_country('Spain')
> go
>
> drop function dbo.ufn_customers_from_country
> go
>
> AMB
>
>
> "Alfredo Crisostomo" wrote:
>
> > Se puede hacer una funcion a la cual yo le mande un parametro digamos
> > @CLIENTE y me devuelva los registros de la tabla CLIENTES donde
> > CLIENTES.cliente=@CLIENTE ?
> >
> > Lo quiero en una funcion y no en un SP porque pienso poder usarla como
tabla
> > en muchas otras querys ...
> >
> > se puede ?
> >
> >
> >



Respuesta Responder a este mensaje
#4 Alfredo Crisostomo
19/08/2005 - 22:03 | Informe spam
Gracias por la ayuda pero siguiendo ese mismo ejemplo, en vez de una
constante como parametro como podria hacer un join con la funcion pero
enviandole como parametro el campo de otra tabla.?



"Alejandro Mesa" escribió en el
mensaje news:
Miquel,

La usas como usas una vista o una tabla cualquiera.

Ejemplo:

use northwind
go

select
a.customerid, a.companyname, a.country,
oh.orderid, oh.orderdate
from
dbo.ufn_customers_from_country('Spain') as a
inner join
dbo.orders as oh
on a.customerid = oh.customerid
go


AMB

"Miquel" wrote:

hola,
ya puestos, me podrias decir, por favor, como se podria utilizar la tabla
devuelta por la funcion desde dentro de un SP?
Como se puede hacer un select con un join de la tabla devuelta con otra
tabla?

Gràcias

"Alejandro Mesa" escribió en el
mensaje news:
> Claro que si. Es la forma adecuada de simular una vista con parametros.
>
> Ejemplo:
>
> use northwind
> go
>
> create function dbo.ufn_customers_from_country (
> @country nvarchar(15)
> )
> returns table
> as
> return (
> select customerid, companyname, country
> from dbo.customers
> where country = @country
> )
> go
>
> select
> *
> from
> dbo.ufn_customers_from_country('Spain')
> go
>
> drop function dbo.ufn_customers_from_country
> go
>
> AMB
>
>
> "Alfredo Crisostomo" wrote:
>
> > Se puede hacer una funcion a la cual yo le mande un parametro digamos
> > @CLIENTE y me devuelva los registros de la tabla CLIENTES donde
> > CLIENTES.cliente=@CLIENTE ?
> >
> > Lo quiero en una funcion y no en un SP porque pienso poder usarla
> > como
tabla
> > en muchas otras querys ...
> >
> > se puede ?
> >
> >
> >



Respuesta Responder a este mensaje
#5 Miquel
19/08/2005 - 22:13 | Informe spam
Claro! el "as"...

Muchas gracias
Miquel

"Alejandro Mesa" escribió en el
mensaje news:
Miquel,

La usas como usas una vista o una tabla cualquiera.

Ejemplo:

use northwind
go

select
a.customerid, a.companyname, a.country,
oh.orderid, oh.orderdate
from
dbo.ufn_customers_from_country('Spain') as a
inner join
dbo.orders as oh
on a.customerid = oh.customerid
go


AMB

"Miquel" wrote:

> hola,
> ya puestos, me podrias decir, por favor, como se podria utilizar la


tabla
> devuelta por la funcion desde dentro de un SP?
> Como se puede hacer un select con un join de la tabla devuelta con otra
> tabla?
>
> Gràcias
>
> "Alejandro Mesa" escribió en


el
> mensaje news:
> > Claro que si. Es la forma adecuada de simular una vista con


parametros.
> >
> > Ejemplo:
> >
> > use northwind
> > go
> >
> > create function dbo.ufn_customers_from_country (
> > @country nvarchar(15)
> > )
> > returns table
> > as
> > return (
> > select customerid, companyname, country
> > from dbo.customers
> > where country = @country
> > )
> > go
> >
> > select
> > *
> > from
> > dbo.ufn_customers_from_country('Spain')
> > go
> >
> > drop function dbo.ufn_customers_from_country
> > go
> >
> > AMB
> >
> >
> > "Alfredo Crisostomo" wrote:
> >
> > > Se puede hacer una funcion a la cual yo le mande un parametro


digamos
> > > @CLIENTE y me devuelva los registros de la tabla CLIENTES donde
> > > CLIENTES.cliente=@CLIENTE ?
> > >
> > > Lo quiero en una funcion y no en un SP porque pienso poder usarla


como
> tabla
> > > en muchas otras querys ...
> > >
> > > se puede ?
> > >
> > >
> > >
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida