Funcion y vista

25/08/2005 - 19:08 por Ricardo Daniel ^^Tazz^^ | Informe spam
saludos amigos eh creado esta funcion

create FUNCTION UltPeriodo()
RETURNS int
AS
BEGIN
declare @cod int
select top 1 @cod = codigo from periodos order by codigo desc
RETURN @cod
END

y quiero ocupar esta en una vista creo ke es asi pero me da error

create view Nom_Per_Act
as
declare @Ult int
@Ult = UltPeriodo
select Rut, Asociacion from Bienestar where Periodo= @Ult

y me da error me podrian ayudar con la vista por favor

Tazz
Stgo., Chile
BMPC-Certificado
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
25/08/2005 - 20:02 | Informe spam
Tienes errores y cosas a mejorar en ese codigo que muestras:

1. En una vista es prohibido escribir sentencias que no sean SELECT. La
vista deberia ser asi:

create view Nom_Per_Act
as
select Rut, Asociacion from Bienestar where Periodo= dbo.UltPeriodo()

2. Puedes mejorar la funcion UltPeriodo de esta manera: Cambia la SELECT

select top 1 @cod = codigo from periodos order by codigo desc

Esa sentencia busca al valor mayor que tienes en los codigos. Entonces usa
esta otra forma:

select @cod = max(codigo) from periodos



Gustavo Larriera
Uruguay LatAm
Blog: http://sqljunkies.com/weblog/gux/
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.

"Ricardo Daniel ^^Tazz^^"
wrote in message news:
saludos amigos eh creado esta funcion

create FUNCTION UltPeriodo()
RETURNS int
AS
BEGIN
declare @cod int
select top 1 @cod = codigo from periodos order by codigo desc
RETURN @cod
END

y quiero ocupar esta en una vista creo ke es asi pero me da error

create view Nom_Per_Act
as
declare @Ult int
@Ult = UltPeriodo
select Rut, Asociacion from Bienestar where Periodo= @Ult

y me da error me podrian ayudar con la vista por favor

Tazz
Stgo., Chile
BMPC-Certificado

Preguntas similares