在sql中update语句不能对text类型的字段进行操作,可是在实际工作中我们会经常遇到这样的问题,怎末解决,其实很简单,用updatetext
在sql中update语句不能对text类型的字段进行操作,可是在实际工作中我们会经常遇到这样的问题,怎末解决,其实很简单,用updatetext,但是很多人不清楚,这里就自己做个记号,毕竟自己也才知道不久。
Code
1 --定义测试表
2
3 create table testtt
4
5 (
6
7 ID int identity(1,1) not null,
8
9 vartext text not null
10
11 )
12
13 --添加测试数据
14
15 set ROWCOUNT 1000
16
17 insert into testtt
18
19 select left(newID(),8) from Syscolumns a,Syscolumns b
20
21 --检查数据
22
23 select * from testtt
24
25 --模拟错误数据
26
27 update testtt set vartext=Convert(varchar(8000),vartext)+'<script sssssssss>'
28
29
30
31
32
33 Declare @vartext binary(16)
34
35 declare @len int
36
37 declare cur cursor for
38
39 select datalength(vartext)-18, TEXTPTR(vartext) from testtt
40
41 open cur
42
43 Fetch next from cur into @len,@vartext
44
45 While(@@Fetch_Status=0)
46
47 begin
48
49 UPDATETEXT testtt.vartext @vartext @len 18 ''
50
51 Fetch Next From cur into @len,@vartext
52
53 end
54
55 close cur
56
57 Deallocate cur
58
59
60
会的人不要骂我了,这个也是做个记号的。