Jump to content

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


powerPT
 Share

Recommended Posts

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.

MD

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.