sql里这样的正则表达式如何写?

oTests 2013-06-06 02:22:44
使用一个CMS,程序带初始数据,而且有用不想删掉,想直接替换使用,但是手工替换太累了,.
200多个产品. sql 能完成下面的工作自动替换吗?
A表结构是
id Productname news
1 pcd1 x
2 pcd1 x
3 pcd3 x
4 pcd4 x
5 pcd5 x
6 pcd1 x
7 pcd1 x
8 pcd4 x
9 pcd2 x
10 pcd1 x

要将Productname中的内容替换成自己的.
我想通过建立一个B表.里面存放原产品名称 和新产品名称,让sql 自动匹配对比替换.
B表结构

Productname_old Productname_new
pcd1 pxd1
pcd2 pxd2
pcd3 pxd3
pcd4 pxd4
pcd5 pxd5

示意图:



test sql code

CREATE TABLE dbo.ProductSeo
(
id int NOT NULL IDENTITY (1, 1),
Productname varchar(50) NULL,
news varchar(50) NULL
) ON [PRIMARY]
GO
INSERT INTO [dbo].[ProductSeo]
([Productname],[news])
VALUES
('pcd1','seotitle'),
('pcd1','seotitle'),
('pcd1','seotitle'),
('pcd1','seotitle'),
('pcd1','seotitle'),
('pcd1','seotitle'),
('pcd1','seotitle'),
('pcd1','seotitle'),
('pcd1','seotitle'),
('pcd2','seotitle'),
('pcd3','seotitle'),
('pcd3','seotitle'),
('pcd2','seotitle'),
('pcd4','seotitle'),
('pcd5','seotitle')

GO



CREATE TABLE dbo.new
(
Productname_old varchar(50) NULL,
Productname_new varchar(50) NULL
) ON [PRIMARY]
GO
INSERT INTO [testss].[dbo].[new]
([Productname_old]
,[Productname_new])
VALUES
('pcd1','pxd1'),
('pcd2','pxd2'),
('pcd3','pxd3'),
('pcd4','pxd4'),
('pcd5','pxd5')
GO





...全文
133 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
524929657雯 2013-06-06
  • 打赏
  • 举报
回复

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧