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

#16 Jose TH
18/11/2008 - 14:08 | Informe spam
Escalar es que devuelve un valor unico, no una tabla. En este caso no te
vale ya que deseas una tabla.


"JuanD" <xxxxxxxx> escribió en el mensaje
news:
Mostrar la cita
#17 Jose TH
18/11/2008 - 14:14 | Informe spam
Si no tuvieras que usar la vista puedes hacerlo facilimente con un
procedimiento almacenado.



"JuanD" <xxxxxxxx> escribió en el mensaje
news:
Mostrar la cita
#18 Carlos M. Calvelo
18/11/2008 - 14:17 | Informe spam
Hola otra vez Juan,

On 18 nov, 13:56, "Carlos M. Calvelo" wrote:
Mostrar la cita
Tanto a la consulta como a la definición de la vista
le puedes añadir condiciones con el where, naturalmente.

Como solo quieres los sábados hasta hoy:

...
WHERE diasemana=0 AND fecha <= getdate()

Saludos,
Carlos
#19 Jose TH
18/11/2008 - 14:25 | Informe spam
Sobre la lógica de la función o el procedimiento, para mayor rapidez no es
necesario ir de día en día sino buscar el primer sábado y de ahí en adelante
ir de 7 en 7. Creo que hasta una fórmula se podría hacer luego que se sabe
la fecha del primer sábado.


<Jose TH >>> escribió en el mensaje
news:OD4pc%
Mostrar la cita
#20 Juan Diego Bueno
18/11/2008 - 14:27 | Informe spam
Hola Carlos:

On 18 nov, 14:08, "Carlos M. Calvelo" wrote:
Mostrar la cita
Gracias Carlos, son de estas cosas que uno olvida hasta que tiene que
usarlas.

Un saludo
Ads by Google
Search Busqueda sugerida