在存储过程中传递变量
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
虽然以下内容与子存储过程有关,但我认为问题与在同一过程中传递值有关..
问题:
我想 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