Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

powerPT

[SQL Server] Dúvida em função

Mensagens Recomendadas

powerPT    0
powerPT

Estou com um problema e não sei como resolver, vejamos:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fv_Promocoes 
(
@Produto_ID int
)
RETURNS MONEY
AS
BEGIN
DECLARE @Preco MONEY
IF EXISTS (SELECT Produto_ID FROM Promocoes_Destaques WHERE Produto_ID = @Produto_ID)
	BEGIN
		SELECT PrecoProm FROM Promocoes_Destaques WHERE Produto_ID = @Produto_ID
	END
ELSE
	BEGIN
		SELECT Preco FROM Produtos WHERE Produto_ID = @Produto_ID
	END
RETURN @Preco
END
GO

Quero que retorne o @Preco mas não estou a ver como igualo, ou seja, já tentei fazer:

SELECT @Preco = SELECT PrecoProm FROM Promocoes_Destaques WHERE Produto_ID = @Produto_ID

mas dá erro

O problema reside em realmente igualar o @Preco, penso eu de que...

Já agora, os erros que me dão:

Msg 444, Level 16, State 2, Procedure fv_Promocoes, Line 11

Select statements included within a function cannot return data to a client.

Msg 444, Level 16, State 2, Procedure fv_Promocoes, Line 15

Select statements included within a function cannot return data to a client.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade