text/ntext/image存储大容量字符串
解决方案 »
- SQL Server Management Studio中工具栏不见了,怎么找回?
- 请问一下,Sql Server 2000 中的@与@@分别代表的是什么意思
- 求一句Access插數據到SQLSERVER的J-SQL
- SQL 2005数据库的问题(help help ...)
- Oracle BI Scheduler服务无法启动··?
- 请问这个存储过程如何实现多表联合查询?
- 我的SQL2000为什么老是自动down了?
- sql问题,高手指点,请
- 请大侠帮我写一个存储过程,应该不难。
- MSSQL SERVER导出数据到ACCESS出现的问题
- 求SQL语句:取出符合条件的N-M条的记录该如何操作?
- SQL2000服务器间数据同步的疑问
---------------------------------------------------------------------------------创建临时表,并将表头信息插入表中
CREATE TABLE #tab_dest(c1 TEXT)
INSERT INTO #tab_dest SELECT 'uid name'--声明过程变量
DECLARE @uid VARCHAR(20),@name VARCHAR(40),@s VARCHAR(100),@len INT--以游标方式获取sysusers中数据,并以UPDATETEXT方式更新到临时表#tab_dest
DECLARE t_cursor CURSOR FOR
SELECT uid,name FROM sysusersOPEN t_cursorFETCH NEXT FROM t_cursor INTO @uid,@nameWHILE @@FETCH_STATUS = 0
BEGIN
SELECT @len = DATALENGTH([c1]) FROM #tab_dest
SET @s = CHAR(13)+@uid+' '+@name
DECLARE @ptrval binary(16)
SELECT
@ptrval = TEXTPTR(c1)
FROM
#tab_dest
UPDATETEXT #tab_dest.[c1] @ptrval @len 0 @s
FETCH NEXT FROM t_cursor INTO @uid,@name
ENDCLOSE t_cursor
DEALLOCATE t_cursor--查看更新结果
SELECT C1 FROM #tab_dest
能不能直接将大于8000的string类型更新到text类型字段
2. 可以利用sp_xml_preparedocument结合临时表实现: USE NorthWindCREATE PROC GetRegions_XML
@empdata text
AS DECLARE @hDoc int
DECLARE @tbl TABLE(state VARCHAR(20))exec sp_xml_preparedocument @hDoc OUTPUT, @empdata INSERT @tbl
SELECT StateName
FROM OPENXML(@hDoc, 'root/States')
WITH (StateName VARCHAR(20))EXEC sp_xml_removedocument @hDoc SELECT * FROM Suppliers
WHERE Region IN (SELECT * FROM @tbl)/*
declare @s varchar(100)
set @s = '<root><States StateName = "LA"/>
<States StateName = "MI"/>
<States StateName = "OR"/></root>'exec GetRegions_XML @s
*/