Pasar columna como argumento de función

13/01/2007 - 12:02 por Salvador | Informe spam
Me podría decir alguien como pasar una columna como argumento de una función
en SQL Server 2000, como por ejemplo para ordenar una tabla devulelta por esa
función por esa columna:

CREATE FUNCTION dbo.[Agr](@Orden nvarchar)
RETURNS @Act TABLE (
[Id] [int] IDENTITY (1, 1) NOT NULL ,
[IdAct] [int] NULL ,
[TASK_ACT_OVT_WORK_PROT] [decimal](25, 6) NULL
)
AS
BEGIN

..
..


select * from @Act order by @Orden

END



Se trata de devolver la table @Act ordenada por la Columna @Orden


Gracias por anticipado.
 

Leer las respuestas

#1 Alejandro Mesa
13/01/2007 - 18:25 | Informe spam
How do I use a variable in an ORDER BY clause?
http://databases.aspfaq.com/databas...lause.html

La clave de todo esta en la expresion "case" que se usa en la clausula
"order by". Hay que tener en cuenta que el tipo de data que devuelve la
expresion "case" es el tipo de data de mayor precedencia que exista en las
expresiones usadas en todos los caminos "then ... else ...".


AMB


"Salvador" wrote:

Me podría decir alguien como pasar una columna como argumento de una función
en SQL Server 2000, como por ejemplo para ordenar una tabla devulelta por esa
función por esa columna:

CREATE FUNCTION dbo.[Agr](@Orden nvarchar)
RETURNS @Act TABLE (
[Id] [int] IDENTITY (1, 1) NOT NULL ,
[IdAct] [int] NULL ,
[TASK_ACT_OVT_WORK_PROT] [decimal](25, 6) NULL
)
AS
BEGIN

..
..


select * from @Act order by @Orden

END



Se trata de devolver la table @Act ordenada por la Columna @Orden


Gracias por anticipado.

Preguntas similares