我想用新的friendlyurl值更新表[listing]中的所有行。而不是循环遍历所有记录,我认为我也可以这样做:
;WITH vars1 AS (
SELECT title FROM listings where listingtype=2 order by createdate desc)
UPDATE listings set friendlyurl=REPLACE(LOWER(vars1.title),' ','-')
但是我在最后一行得到了错误:
无法绑定多部分标识符vars1.title。
如何按照我的意愿更正上述说法?
答案 0 :(得分:2)
如果您想使用CTE进行更新,则可以使用:
;with vars1 as
(
select title, friendlyUrl
from listings
where listingtype=2
)
update vars1
set friendlyurl = REPLACE(LOWER(vars1.title),' ','-');
但你可以在没有CTE的情况下做到这一点:
update listings
set friendlyurl = REPLACE(LOWER(title),' ','-')
where listingtype=2;