UNION ALL SELECT 2,'BB'
CREATE TABLE #b(id int,b text)
INSERT #b SELECT 1,'XX'
--用#a.a替换#b.b的数据,条件是#a.id=#b.id
UPDATE b SET b=a.a
FROM #a a,#b b
WHERE a.id=b.id
--把#a的数据复制到#b,条件是#a.id不在#b.id中
INSERT #b(id,b) SELECT id,a FROM #a a
WHERE NOT EXISTS(SELECT * FROM #b WHERE id=a.id)
--显示处理结果
SELECT * FROM #b
DROP TABLE #a,#b
/*--结果
id b
---------------- -------
1 AA
2 BB
--*/
GO
/*===============================================*/
--2. 将tb表中的col1及col2列中的数据合并到col列中,并且在合并的数据前后加上列标识。
--测试数据
CREATE TABLE tb(col text,col1 text,col2 text)
INSERT tb SELECT 'a' ,NULL,'c2'
UNION ALL SELECT NULL,'b2','c2'
UNION ALL SELECT '' ,'b3',NULL
GO
--更新处理
DECLARE @p binary(16),@p1 binary(16),@p2 binary(16)
DECLARE tb CURSOR LOCAL
FOR
SELECT TEXTPTR(col),TEXTPTR(col1),TEXTPTR(col2) FROM tb
OPEN tb
FETCH tb INTO @p,@p1,@p2
WHILE @@FETCH_STATUS=0
BEGIN
IF TEXTVALID('tb.col',@p)=0
BEGIN
UPDATE tb SET col='' WHERE CURRENT OF tb
UPDATE tb SET @p=TEXTPTR(col) WHERE CURRENT OF tb
END
IF TEXTVALID('tb.col1',@p1)=1
BEGIN
UPDATETEXT tb.col @p NULL 0 ' <col1> '
UPDATETEXT tb.col @p NULL 0 tb.col1 @p1
UPDATETEXT tb.col @p NULL 0 ' </col1> '
END
IF TEXTVALID('tb.col2',@p2)=1
BEGIN
UPDATETEXT tb.col @p NULL 0 ' <col2> '
UPDATETEXT tb.col @p NULL 0 tb.col2 @p2
UPDATETEXT tb.col @p NULL 0 ' </col2> '
END
FETCH tb INTO @p,@p1,@p2
END
CLOSE tb
DEALLOCATE tb
GO
--显示结果
SELECT * FROM tb
DROP TABLE tb
/*--结果
col col1 col2
-------------------------------------- ----------------------- ----------------------
a <col2> c2 </col2> NULL c2
<col1> b2 </col1> <col2> c2 </col2> b2 c2
<col1> b3 </col1> b3 NULL
--*/
网友回复:选择发布数据库中表的时候。
就些表不能被选上。。。
这是什么原因
复制的时候 提示数据复制太大 不能被复制。
这又怎么办
网友回复:请问一下潇洒老乌龟更新文本类型数据时不是用updatetext吗?
为什么在这里用update也可以?
网友回复:主键一般是不能更新的.更新是要注重下
网友回复:1. 你用的什么复制类型? 除快照复制外, 其他复制类型均要求有主键, 检查是否满足上述条件
2. 说数据复制太大。。 这是复制已经配置的情况下出现的, 还是在复制配置过程中出现的. 你的表有多大? 像我现在复制的复制表, 几千万数据的也有不少, 但没有碰到过说数据复制太大的问题
网友回复:我有个客户的数据库都30个G了,用快照还没问题呢。
网友回复:为什么我用快照很多表不能够发布??
用快照复制一直默认的配置不行吗??
网友回复: 有没有人知道啊.
网友回复:回者有分..
绝对结帖..
大家帮帮忙
网友回复:帮顶一下,关注。
没见过这个“数据复制太大 不能被复制”的问题。
能否把原本的错误信息贴出来?
复制对表有些额外的要求,你那些不能被选的表应该就是不符合某些条件的。
对照楼上各位的帖子检查一下。
网友回复:是不是做一次快照发布就行了??
以后订阅就会自动更新数据?
网友回复:你用的事务复制吧
本篇文章来源于
www.itzhe.cn 原文链接:
http://www.itzhe.cn/article/20080104/43907_5.html