从值类型函数中读取

时间:2016-01-08 22:36:33

标签: sql sql-server

我一直在寻找互联网,但无法找到解决方案。所以我决定在这里问:

我的表中包含了我的产品规格。它的列名称为:productCode,specName,specStr,visibility

我需要将所有规格放在一个字符串中。像(产品代码= 54S4):“类别:电子产品,重量:50克,品牌:XYZ”

我要使用sql server函数执行此操作。所以我创建了一个值类型的函数。我有一个表格格式的单一产品的规格。这是功能:

CREATE FUNCTION getDescription1 (@code varchar(32))
RETURNS table
AS
RETURN (
SELECT (specName+': '+specStr+', ')as description
FROM productSpecs 
where specStr<>'' and visibility=1 and productCode=@code
)

结果,我有一张桌子。但我无法使用while或者其他东西读取其中的数据。

我的路线是真的吗?如果是,现在该怎么办?如果没有启发我请...

1 个答案:

答案 0 :(得分:0)

CREATE FUNCTION getDescription1 (@code varchar(32))
RETURNS  nvarchar(1000)
AS
  DECLARE @p_str NVARCHAR(1000)
    SET @p_str = ''      
 SELECT @p_str = @p_str +  (specName+': '+specStr+', ')
     FROM productSpecs 
where specStr<>'' and visibility=1 and productCode=@code
 RETURN LEFT(@p_str, len(@p_str) -1)