怎么会得不到正确结果呢,不是 aabb ?
变量A和B的初始值不能那样设置,应该这样:
DECLARE @A nvarchar(100)
DECLARE @B nvarchar(100)
DECLARE @C nvarchar(100)select @a='aa',@b='bb'SET @C = @A + @Bselect @c
变量A和B的初始值不能那样设置,应该这样:
DECLARE @A nvarchar(100)
DECLARE @B nvarchar(100)
DECLARE @C nvarchar(100)select @a='aa',@b='bb'SET @C = @A + @Bselect @c
你说的方法也不行啊我现在遇到的问题是这样的
有两个表
Product:--主表
ProductCode nvarchar
ProductColor nvarchar
ProductDetail:--子表
ProductCode nvarchar
ProductColor nvarchar
因为以前是把ProductColor放在子表里的,一个ProductCode可以对应多个ProductColor。
现在我想不用子表了所以想写个存储过程把子表里每个产品对应的颜色串成一个字符串(用"|"分隔)写到主表里的一个字段里。可是我用上面的写法,就是不能把字符串连起来.
DECLARE @B nvarchar(100)
DECLARE @C nvarchar(100)set @A== 'aa'
set @B== 'bb'SET @C = @A + @B
print @C結果﹕aabb
set @a='aa'
set @b='bb'
set @c=@a+@b
print '@c values is :'+ @c--结果是
@c values is :aabb
我今天写类似的语句的时候,没有写 set ,找了半天。大家不要凡同样的问题呀!
当然,我是菜鸟!
CREATE PROCEDURE ConvertProdProperty
AS
BEGIN DECLARE @strColors varchar(250)
DECLARE @strSizes varchar(250)
DECLARE @strColor varchar(30)
DECLARE @strSize varchar(30)
DECLARE @strTemp varchar(30)
DECLARE @strProductCode varchar(10)
DECLARE @strSql varchar(200) DECLARE product_cursor CURSOR
FOR SELECT top 1 product_code
FROM Product_properties OPEN product_cursor FETCH NEXT FROM product_cursor INTO @strProductCode WHILE @@FETCH_STATUS = 0 BEGIN
DECLARE product_detail_cursor CURSOR FOR SELECT product_color,product_size
FROM Product_Properties
WHERE Product_Code = @strProductCode open product_detail_cursor FETCH NEXT FROM product_detail_cursor INTO @strColor,@strSize
WHILE @@FETCH_STATUS = 0
BEGIN
SET @strTemp = @strColor + '|'
SET @strColors = @strTemp + @strColors
PRINT @strColors --这里有问题strColors的值不正确
FETCH NEXT FROM product_detail_cursor INTO @strColor,@strSize
END
DEALLOCATE product_detail_cursor
--SET @strSql = "UPDATE [Product] Set ProductColor =" + @strColors + " WHERE Product_Code =" + @strProductCode
--EXEC (@strSql)
--SET @strSql = "UPDATE [Product] Set ProductSize =" + str(@strSizes) + " WHERE Product_Code =" + str( @strProductCode)
--EXEC (@strSql)
FETCH NEXT FROM product_cursor INTO @strProductCode
END
DEALLOCATE product_cursor
END结果不正确,麻烦哪位帮我看看原因。
DECLARE @B nvarchar(100)
DECLARE @C nvarchar(100)set @A== 'aa'
set @B== 'bb'SET @C = @A + @B
FETCH NEXT FROM product_cursor INTO @strProductCode
if (@@FETCH_STATUS = 0)
begin
第二个游标循环end