El nombre del objeto no es válido (UDF)

18/11/2008 - 10:58 por JuanD | Informe spam
Hola,

He creado la siguiente función que en teoría debería devolver la fecha de
los días con sábados que hay desde una fecha hasta hoy (desde el QA
funciona);

CREATE FUNCTION dbo.Sabados (@FechaI smalldatetime)
RETURNS @Tabla TABLE (Fecha smalldatetime)
BEGIN
declare @i int
declare @dia varchar(20)
declare @fecha datetime
select @i = 0
while @i > - DateDiff(Day, '01/10/2008', @FechaI)
begin
select @dia = DateName(dw, dateadd(d, @i, @FechaI))
select @fecha = DateAdd(d, @i, @FechaI)
if @dia in ('Sábado')
begin
INSERT INTO @Tabla Select convert(nvarchar, @fecha, 103)
end
select @i = @i - 1
end
RETURN
END

A la hora de llamarla así; Select dbo.Sabados(getdate()), me lanza el
siguiente error;

Servidor: mensaje 208, nivel 16, estado 1, línea 1
El nombre de objeto 'dbo.Sabados' no es válido.

Cuando se que el nombre de la función existe y que funciona si ejecuto el
código desde el QA, ¿qué estoy haciendo mal?.
Utilizo SQL Server 2000 SP4.
Gracias.

Preguntas similare

Leer las respuestas

#6 Jose TH
18/11/2008 - 13:26 | Informe spam
No uses entonces el FROM a ver,

select dbo.Sabados(getdate())

o asi, aunque innecesario quizas

select * from (select dbo.Sabados(getdate()))

chequealo a ver

"JuanD" <xxxxxxxx> escribió en el mensaje
news:
Mostrar la cita
#7 Jose TH
18/11/2008 - 13:31 | Informe spam
ahora bien, si la vista que quieres definir solo va a tener esa instruccion
pues no es necesaria ninguna vista ya que puedes usar la funcion
directamente.


<Jose TH >>> escribió en el mensaje
news:
Mostrar la cita
#8 JuanD
18/11/2008 - 13:35 | Informe spam
Gracias, pero, nada que no hay manera de ninguna de las dos formas.
Empiezo a pensar que getdate no está permitido en funciones de SQL 2000

<Jose TH >>> escribió en el mensaje
news:
Mostrar la cita
#9 Jose TH
18/11/2008 - 13:37 | Informe spam
Yo lo acabo de probar en SQL 2000 sp3 y funciona bien para una Vista.
Chequea bien el error por si es otra cosa.


"JuanD" <xxxxxxxx> escribió en el mensaje
news:%23Jx%
Mostrar la cita
#10 Jose TH
18/11/2008 - 13:42 | Informe spam
Ah Disculpa que hice la prueba con una funcion escalar y no tipo TABLE.


<Jose TH >>> escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida