我正在尝试从两列中删除非字母数字并将其输出到全新的表中。我上次这样做,它在大约30分钟内执行了。该表仅包含约3000行,并且我正在连接到远程服务器,并且我不确定这里是什么问题。请注意,我无权创建函数或过程。
这是我的代码:
SELECT
[Customer ID], [Original Product Title], [Original Product Type],
[New_Product_Title], [New_Product_Type]
INTO
Customer_Product_2
FROM
Customer_Product
WHILE @@ROWCOUNT > 0
UPDATE Customer_Product
SET New_Product_Title = REPLACE(New_Product_Title, SUBSTRING(New_Product_Title, PATINDEX('%[^a-z0-9]%', New_Product_Title), 1), ''),
New_Product_Type = REPLACE(New_Product_Type, SUBSTRING(New_Product_Type, PATINDEX('%[^a-z0-9]%', New_Product_Type), 1), '')
答案 0 :(得分:1)
您不需要循环,因为您根本不需要检查@@ROWCOUNT > 0
。 UPDATE
语句将在您指定的集合上运行,如果集合中没有行,则不会更新任何数据。