PDA

View Full Version : scalar value function broke :(



broneah
March 12th, 2007, 12:43 PM
setANSI_NULLSON
setQUOTED_IDENTIFIERON
GO
-- =============================================
-- Author: <Ryan Roberts>
-- Create date: <3-09-07>
-- Description: <Returns product image url for product search based on prefered child sku in department.>
-- =============================================
ALTERFUNCTION [dbo].[fn_ProductImageURL]
(
-- Add the parameters for the function here
@Sku varchar(50)
)
RETURNSvarchar(50)
AS
BEGIN
-- Declare the return variable
DECLARE @ResultVar varchar(50)
-- Add the T-SQL statements to compute the return value here
IF(SELECT PreferredChildSku FROM product_HeaderDepartment WHERE ProductSku = @Sku)!=NULL
BEGIN
SELECTtop(1) @ResultVar ='~/App_Common/Images/Products/'+REPLACE(PreferredChildSku,':','')+'_sm.jpg'
FROM product_HeaderDepartment
WHERE ProductSku = @Sku
END

ELSE
BEGIN
SELECTtop(1) @ResultVar = ImageFileSmall
FROM product_Header
WHERE ProductSku = @sku
END
RETURN @ResultVar
END



why isnt this working? :(

broneah
March 12th, 2007, 02:51 PM
Hey *****es, i fixed it :)


set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


-- =============================================
-- Author: <Ryan Roberts>
-- Create date: <3-09-07>
-- Description: <Returns product image url for product search based on prefered child sku in department.>
-- =============================================
ALTER FUNCTION [dbo].[fn_ProductImageURL]
(
-- Add the parameters for the function here
@Sku varchar(50)
)
RETURNS varchar(50)
AS
BEGIN
-- Declare the return variable
DECLARE @ResultVar varchar(50)

-- Add the T-SQL statements to compute the return value here




IF (SELECT TOP 1 PreferredChildSku FROM Product_HeaderDepartment WHERE ProductSKU = @Sku) IS NULL
BEGIN

SELECT TOP (1) @ResultVar = ProductImage
FROM product_AttributeValue
WHERE (ParentSku = @sku)
END
ELSE
BEGIN

SELECT TOP(1) @ResultVar = '~/App_Common/Images/Products/' + REPLACE(PreferredChildSku, ':', '') + '_sm.jpg'
FROM product_HeaderDepartment
WHERE ProductSku = @Sku
END

RETURN @ResultVar

END