Funciones en SQL Server 2000

22/08/2007 - 17:36 por Gabriel Dameñov | Informe spam
Estimados colegas:
Quiero establecer parámetros con valores por defecto en una función de
SQL Server 2000, de modo tal que, si dichos parámetros no son enviados,
toman el valor predeterminado.

Definí la función así, para que el segundo parámetro pueda no ser
enviado:

CREATE FUNCTION MiFuncion (@Parmetro1 AS Numeric(9), @Parametro2 AS
Numeric(9) = -999)

pero al ejecutar la función, si no envío el segundo parámetro, me da error.
¿Cómo puedo hacer que el segundo parámetro tome el valor predeterminado?

Gracias y un cordial saludo.


Gabriel
-
 

Leer las respuestas

#1 Alejandro Mesa
22/08/2007 - 19:30 | Informe spam
Hola Gabriel,

El grupo de desarrollo de SS se quedo corto en ese aspecto. Los parametros
por defecto en las udfs no trabajan de la misma forma que en los sps. Si no
quieres pasar el parametro, debes usar DEFAULT en la posicion indicada.

Ejemplo:

use tempdb
go

create function dbo.ufn_f1 (
@i int = 100
)
returns int
as
begin
return (@i)
end
go

select dbo.ufn_f1(101)
go

select dbo.ufn_f1(DEFAULT)
go

select dbo.ufn_f1()
go

drop function dbo.ufn_f1
go


AMB

"Gabriel Dameñov" wrote:

Estimados colegas:
Quiero establecer parámetros con valores por defecto en una función de
SQL Server 2000, de modo tal que, si dichos parámetros no son enviados,
toman el valor predeterminado.

Definí la función así, para que el segundo parámetro pueda no ser
enviado:

CREATE FUNCTION MiFuncion (@Parmetro1 AS Numeric(9), @Parametro2 AS
Numeric(9) = -999)

pero al ejecutar la función, si no envío el segundo parámetro, me da error.
¿Cómo puedo hacer que el segundo parámetro tome el valor predeterminado?

Gracias y un cordial saludo.


Gabriel
-



Preguntas similares