text字段的更新 为什么字段内容长时(>1万字符),update就显示超时的错误信息,比较短时就没问题?如何可以做到长短都可以完成更新(在页面中update)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个长的内容第一次用update是可以更新进数据库的,只是第二次执行update时显示超时错误,我必须在sql查询分析器中将该字段update成null后然后在页面中才能重新该字段内容.字符少时就没有该问题. 用updatetext来处理.-----------------------如何将asp中获取的表单内容用updatetext来更新text字段,像update一样写在页面中吗?用存储过程又如何做?字段id content表单域contenttext 可以向存储过程传递text类型的参数吗??? 在存储过程中用updatetext我也试过了,同样的问题,还是长时出现超时错误,短则没有问题:)没有人可以给出解决方案吗?是sqlser2000不是2005 英文大约12000个字符,commandtimeout设为0后就半天出不来任何分析了,浏览器状态栏停留在载入一半的状态 对,UPDATETEXTUPDATETEXT更新现有 text、ntext 或 image 字段。使用 UPDATETEXT 在适当的位置更改 text、ntext 或 image 列的一部分。使用 WRITETEXT 来更新和替换整个 text、ntext 或 image 字段。语法UPDATETEXT { table_name.dest_column_name dest_text_ptr } { NULL | insert_offset } { NULL | delete_length } [ WITH LOG ] [ inserted_data | { table_name.src_column_name src_text_ptr } ] 随便建立一个表测试都超时? 还是有多少数据的时候超时?sql版本是什么? 请帮我upup,..,谢了!sqlserver text字段的更新,超过3万字超时问题.处理程序段见另一同主题加分帖. http://community.csdn.net/Expert/topic/4961/4961649.xml?temp=.502392 帮我up一下,谢了. 我也遇到问题了.大家帮忙呀--更新指定表的大字段内容create PROCEDURE pms_SomeTableSomeField_Updatetext ( @TableName nvarchar(256),@FieldName nvarchar(256), @Content ntext ,@strID nvarchar(10) --表名 字段名 新的大字段内容 表的唯一标识)AS BEGINDECLARE @EXEString NVARCHAR(4000) set @EXEString = 'DECLARE @ptrval binary(16) SELECT @ptrval = TEXTPTR('+@FieldName+') FROM '+@TableName+' WHERE [ID] = '+@strID + 'WRITETEXT '+@TableName+'.' + @FieldName + ' @ptrval ' + @Content --更新大字段关键处 旧的内容 新的内容--NVARCHAR与这个矛盾,但要用什么办法来构造一个动态的更新语句呢? EXEC sp_executesql @EXEString END 可能是超过 SQL 的数据查询长度????????????关注 UPDATETEXT test.c @ptrval 0 null @Content 应该可以啊 create procedure p_replacentext(@vTable varchar(50), @vField varchar(30),@vBefore varchar(8000),@vAfter varchar(8000))asbegin Declare @Sql nvarchar(4000) declare @p_s varchar(800) Declare @p binary(16),@postion int,@rplen int set @Sql=N'Select @p=textptr('+@vField+'),@rplen=len('''+@vBefore+'''),@postion=patindex(''%'+@vBefore+'%'','+@vField+')-1 from '+@vTable exec sp_executesql @Sql,N'@p binary(16) output,@rplen int output,@postion int output ',@p output,@rplen output,@postion output while @postion >= 0 begin exec master.dbo.xp_varbintohexstr @p, @p_s out set @Sql=N'updatetext '+@vTable+'.'+@vField+' '+@p_s+' '+cast(@postion as varchar(8))+' '+cast(@rplen as varchar(4))+' '''+@vAfter+'''' print @Sql exec(@Sql) set @Sql=N'select @postion=patindex(''%'+@vBefore+'%'','+@vField+')-1 from '+@vTable exec sp_executesql @Sql,N'@postion int output ',@postion output endend --测试create TABLE t(col1 char(1000), col2 ntext)INSERT t SELECT '', 'aa北京中华人民共和国北京天安门北京asdsdf'+REPLICATE('a', 8000)select * from texec p_replacentext 't','col2','aa','首都' select * from tdrop table t--结果aa北京中华人民共和国北京天安门北京asdsdfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa首都北京中华人民共和国北京天安门北京asdsdf首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都--后台执行(所影响的行数为 1 行)(所影响的行数为 1 行)updatetext t.col2 0xFFFF0812000000003801000001000000 0 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 24 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 26 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 28 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 30 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 32 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 34 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 36 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 38 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 40 2 '首都'...updatetext t.col2 0xFFFF0812000000003801000001000000 7928 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7930 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7932 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7934 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7936 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7938 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7940 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7942 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7944 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7946 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7948 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7950 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7952 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7954 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7956 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7958 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7960 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7962 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7964 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7966 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7968 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7970 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7972 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7974 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7976 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7978 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7980 2 '首都'updatetext t.col2 0xFFFF0812000000003801000001000000 7982 2 '首都'(所影响的行数为 1 行)--小结如果你认为是字符长度问题,那么你可以按上面方法来查看,我测试了,按更新字段的大小,时间是不一样的,但是没有超时,你可以print 来查看 writetext或updatetext的执行过程 创建一个这样的视图 100分 求教sql一个查询慢问题?急~~~ sql 语法??? 各位大佬,问下数据库在查询的时候是inner join 快还是left join快 SQL服务器如果不开IIS服务相关服务会给注入吗? SQL语言问题!简单! ADOQuery 的问题,查询带参数的SQL语句不成功 看似简单但非常难的数据库问题,高手进来指教!!!!!!!!!! 我用的是sql_server7.0可是....... 这个sql语句怎么写??谢谢 text字段 存储过程中NTEXT的问题高手来解答下(100分在线等)
-----------------------
如何将asp中获取的表单内容用updatetext来更新text字段,像update一样写在页面中吗?用存储过程又如何做?
字段
id content
表单域contenttext
没有人可以给出解决方案吗?是sqlser2000不是2005
UPDATETEXT
更新现有 text、ntext 或 image 字段。使用 UPDATETEXT 在适当的位置更改 text、ntext 或 image 列的一部分。使用 WRITETEXT 来更新和替换整个 text、ntext 或 image 字段。语法
UPDATETEXT { table_name.dest_column_name dest_text_ptr }
{ NULL | insert_offset }
{ NULL | delete_length }
[ WITH LOG ]
[ inserted_data
| { table_name.src_column_name src_text_ptr } ]
sqlserver text字段的更新,超过3万字超时问题.
处理程序段见另一同主题加分帖.
--更新指定表的大字段内容
create PROCEDURE pms_SomeTableSomeField_Updatetext
(
@TableName nvarchar(256),@FieldName nvarchar(256), @Content ntext ,@strID nvarchar(10)
--表名 字段名 新的大字段内容 表的唯一标识
)
AS
BEGINDECLARE @EXEString NVARCHAR(4000)
set @EXEString = 'DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR('+@FieldName+') FROM '+@TableName+' WHERE [ID] = '+@strID
+ 'WRITETEXT '+@TableName+'.' + @FieldName + ' @ptrval ' + @Content
--更新大字段关键处 旧的内容 新的内容--NVARCHAR与这个矛盾,但要用什么办法来构造一个动态的更新语句呢?
EXEC sp_executesql @EXEString
END
关注
应该可以啊
as
begin
Declare @Sql nvarchar(4000)
declare @p_s varchar(800)
Declare @p binary(16),@postion int,@rplen int
set @Sql=N'Select @p=textptr('+@vField+'),@rplen=len('''+@vBefore+'''),@postion=patindex(''%'+@vBefore+'%'','+@vField+')-1 from '+@vTable
exec sp_executesql @Sql,N'@p binary(16) output,@rplen int output,@postion int output ',@p output,@rplen output,@postion output
while @postion >= 0
begin
exec master.dbo.xp_varbintohexstr @p, @p_s out
set @Sql=N'updatetext '+@vTable+'.'+@vField+' '+@p_s+' '+cast(@postion as varchar(8))+' '+cast(@rplen as varchar(4))+' '''+@vAfter+''''
print @Sql
exec(@Sql)
set @Sql=N'select @postion=patindex(''%'+@vBefore+'%'','+@vField+')-1 from '+@vTable
exec sp_executesql @Sql,N'@postion int output ',@postion output
end
end --测试
create TABLE t(col1 char(1000), col2 ntext)
INSERT t SELECT '', 'aa北京中华人民共和国北京天安门北京asdsdf'+REPLICATE('a', 8000)
select * from t
exec p_replacentext 't','col2','aa','首都'
select * from t
drop table t--结果
aa北京中华人民共和国北京天安门北京asdsdfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa首都北京中华人民共和国北京天安门北京asdsdf首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都首都
--后台执行(所影响的行数为 1 行)
(所影响的行数为 1 行)updatetext t.col2 0xFFFF0812000000003801000001000000 0 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 24 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 26 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 28 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 30 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 32 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 34 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 36 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 38 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 40 2 '首都'
.
.
.
updatetext t.col2 0xFFFF0812000000003801000001000000 7928 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7930 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7932 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7934 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7936 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7938 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7940 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7942 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7944 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7946 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7948 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7950 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7952 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7954 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7956 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7958 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7960 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7962 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7964 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7966 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7968 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7970 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7972 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7974 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7976 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7978 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7980 2 '首都'
updatetext t.col2 0xFFFF0812000000003801000001000000 7982 2 '首都'(所影响的行数为 1 行)--小结
如果你认为是字符长度问题,那么你可以按上面方法来查看,我测试了,按更新字段的大小,时间是不一样的,但是没有超时,你可以print 来查看 writetext或updatetext的执行过程