在存储过程中传递变量

Passing a variable within a stored procedure

虽然以下内容与子存储过程有关,但我认为问题与在同一过程中传递值有关..

问题:

我想 return 我从存储过程中调用的用户定义函数的值。
如果我硬编码行
SELECT @SiteImage = ImageName FROM TblImages WHERE SITEID = @SiteIDOriginal 成为
SELECT @SiteImage = ImageName FROM TblImages WHERE SITEID = 'HARDCODED_SITE_ID'然后它传回我想要的。

我相信我之前传递了正确的变量,但需要一些关于它 'drops' 值在哪里的指导。

在 'Parent' 存储过程中我请求:

dbo.GetPropertyImage(UPPER(@SITEID)) as SitePhoto

然后我按如下方式操作,并希望将值 @SiteImage return 添加到此行,回传工作正如我提到的那样,我已经通过硬编码对此进行了测试。

USE [cording]
GO
/****** Object:  UserDefinedFunction [dbo].[GetPropertyImage]    Script Date: 05/18/2015 09:17:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[GetPropertyImage]
(
    -- Add the parameters for the function here
    @SiteID varchar(100)
)
RETURNS varchar(100)
AS
BEGIN
    -- Declare the return variable here
    DECLARE @SiteImage varchar(100)
    DECLARE @SiteIDOriginal varchar(100)

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

    SELECT @SiteIDOriginal=PemcoShortCode  FROM iBasePropertyDetails WHERE PemcoShortCode=@SiteID

    SELECT @SiteImage = ImageName FROM TblImages WHERE SITEID = @SiteIDOriginal
    --SiteID = @SiteIDOriginal

    -- Return the result of the function
    RETURN @SiteImage

END
USE [Database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[GetImage]
(
-- Add the parameters for the function here
@SiteID varchar(100)
)
RETURNS varchar(100)
AS
BEGIN
    -- Declare the return variable here
    DECLARE @SiteImage varchar(100)
    DECLARE @SiteIDOriginal varchar(100)

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

     SELECT [@SiteIDOriginal] = ID FROM iBasePropertyDetails WHERE PemcoShortCode=[@SiteID] 

SELECT @SiteImage = ImageName FROM TblImages WHERE SITEID = @SiteIDOriginal


    -- Return the result of the function
    RETURN @SiteImage

END