- 浏览: 930786 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (445)
- 备忘 (0)
- java基础 (28)
- jsp (15)
- css (4)
- javascript (30)
- struts (7)
- servlet (2)
- struts2 (7)
- jdbc (16)
- hibernate (22)
- ibatis (0)
- jpa (1)
- spring (17)
- spring定时任务 (8)
- 整合开发 (12)
- JavaArticle (0)
- php (6)
- velocity (2)
- mysql (19)
- sqlserver (52)
- oracle (23)
- lucene (49)
- ajax (13)
- dwr (5)
- JFreeChart (1)
- service (14)
- tools (18)
- c#基础 (20)
- 程序安全 (0)
- 学习网站 (1)
- 社会需求 (2)
- flash (1)
- 流媒体 (1)
- java_code (1)
- htmlparser (1)
- 速动画教程 (5)
- 设计模式 (1)
- xml操作 (2)
- uml操作 (4)
- 测试 (1)
- linux (8)
- 版本控制 (4)
- 服务器 (12)
- 安全 (6)
- 美工 (2)
最新评论
-
Zhang_amao:
我想问一下, 你用的lucene版本和highligher的版 ...
使用Lucene的Highlighter实现文件摘要的自动提取 -
wangmengfanwangzhi:
博主,你的QQ是什么啊?有关于lucene的问题想要请教啊~~ ...
Lucene下载及测试 -
cutesunshineriver:
讲得很好,理解起来很顺,对个人学习的帮助性很大,谢谢博主。
velocity入门一 -
libin2722:
我这里有一个任务调度,在晚上3点时候会自动将数据库中某表的数据 ...
Lucene-2.2.0 源代码阅读学习(16) -
greatwqs:
java -cp $JVM_ARGS $classpath ...
java的cp命令
ntext, text, and image data types will be removed in a future version of MicrosoftSQL Server. Avoid using these data types in new development work, and plan to modify applications that currently use them. Use nvarchar(max), varchar(max), and varbinary(max) instead
从上文可以看到text,ntext等类型将会被ms sqlserver抛弃,取而代之的是varchar(max)等.
预计也将会取消专门针对text等类型的操作函数,例如textptr,updatetext等。
但是目前有许多现存系统仍然存在text类型的字段,因为种种原因已经不能修改数据库结构。
但是我们可以在新写的sql语句及存储过程中采用新的方法,以备将来mssql server抛弃专门针对text等类型的操作函数后修改程序的麻烦。
下面是一个简单的替换例子,
针对text类型的字符串替换:
设有表 T(id int not null,info text)
要求替换info中的'abc'为'123'
一般的存储过程会写成:
drop procedure dbo.procedure_1
go
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
create procedure dbo.procedure_1
as
declare @ptr varbinary(16)
declare @ID int
declare @Position int,@len int
declare @strsrc char(3)
declare @strdsc char(3)
set @strtmp='abc'
set @strdsc='123'
set @len=3
declare replace_Cursor scroll Cursor
for
select textptr([info]),id from T
for read only
open replace_Cursor
fetch next from replace_Cursor into @ptr,@ID
while @@fetch_status=0
begin
select @Position=patindex('%'+@strsrc+'%',
while @Position>0
begin
set @Position=@Position-1
updatetext T.[info] @ptr @Position @len @strdsc
select @Position=patindex('%'+@strsrc+'%',
end
fetch next from replace_Cursor into @ptr,@ID
end
close replace_Cursor
deallocate replace_Cursor
go
其中用到了text专用的函数 updatetext
现在我们改写成
drop procedure dbo.procedure_1
go
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
create procedure dbo.procedure_1
as
declare @ID int
declare @strtmp varchar(max)
declare @strsrc char(3),@strdsc char(3)
set @strsrc = 'abc'
set @strdsc = '123'
declare replace_Cursor scroll Cursor
for
select id from testtable
--for read only
open replace_Cursor
fetch next from replace_Cursor into @ID
while @@fetch_status=0
begin
select @strtmp = [info] from testtable where id=@ID
select @strtmp = Replace(@strtmp,@strsrc,@strdsc)
update T set [info] = @strtmp where id=@ID
fetch next from replace_Cursor into @ID
end
close replace_Cursor
deallocate replace_Cursor
go
这样,无论info字段改成char,nchar,text都好,一样均可通用
发表评论
-
数据权限
2012-10-30 12:47 10821 创建用户test 用户映射 映射到此登录名用 ... -
索引问题
2012-07-26 10:18 722//唯一行索引 create unique index 字段 ... -
SqlServer添加修改删除字段
2012-07-26 09:22 1103SqlServer(Transact-SQL): 添加 ... -
仅当使用了列的列表 并且 identity_insert 为 on 时 才能在表 中为标识列指定显式值。
2012-03-08 14:31 2281SET IDENTITY_INSERT products2 O ... -
sql server触发器
2010-10-28 11:21 1269最近在使用触发器实现数据同步,中间遇到两个问题问题一 大字段不 ... -
往Sqlserver插入数据报错:传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确
2010-04-19 11:19 2085在新闻表中有一个字段:Content Text类型其他方面都 ... -
sql server2005数据库备份恢复出错
2010-04-06 15:25 2573现象:备份成功,还原时提示--System.Data.SqlC ... -
创建链接服务器(oracle,sql server,access,excel)
2010-04-05 16:55 2928/////////////////////////////SQ ... -
SQL COUNT DISTINCT 函数
2010-03-23 16:40 1803SELECT COUNT(DISTINCT ... -
分解字符串-sql中执行带参数的函数
2010-03-12 16:22 1779set ANSI_NULLS ONset QUOTED_IDE ... -
过滤html
2010-01-19 17:33 973create function [dbo].f_FilterH ... -
使用正则表达
2010-01-19 17:31 984先创建自定义函数------- ... -
SQL中LEN ()与DATALENGTH ()
2010-01-04 16:42 1609LEN ( string_expression )参数:要计算 ... -
SQLServer2005新增序列功能的几个函数:ROW_NUMBER, RANK, DENSE_RANK, and NTILE
2009-12-07 15:43 11301 ROW_NUMBER SELECT Produ ... -
sqlserver数据库收缩
2009-11-03 21:26 1114有时候因为数据库日志文件过大,日志无须保存,清理空间 ... -
修改sqlserver密码
2009-10-09 09:06 1390验证的时候,选择按照Windows身份验证,就直接进去了……汗 ... -
获取SQL Server数据库元数据的方法
2009-10-02 14:06 1638数据简介元数据 (metadata) 最常见的定义为“有关数据 ... -
SQL数据导入导出大全
2009-09-13 17:57 1349******* 导出到excelEXEC master..xp ... -
insert into 后获得自动插入的id(select @@identity)
2009-06-23 17:11 2650当运行完插入语句后,执行select @@identity ... -
不同服务器数据库导入方法2
2009-05-11 10:16 1297这个是建连接的方法 还没有实践过 不同服务器数据库之间的数据 ...
相关推荐
3. **批量处理**:如果需要替换的是全局性的文本模式,考虑编写存储过程或触发器,实现自动化和批量处理。 4. **字符编码**:确保所有操作都在正确的字符集下进行,避免因编码问题导致的替换错误。 通过以上详细...
每个Longtext字段可以存储最多4GB的数据,非常适合存储大段的文章、报告或其他非结构化文本数据。Longtext字段的应用场景非常广泛,如文档管理、博客平台等。 #### 知识点四:Longtext字段处理方式 1. **读取与...
综上所述,替换text/ntext类型字段的值在SQL Server中是一项特殊任务,需要我们理解其背后的数据存储机制,并采用合适的函数与语句来安全有效地完成更新。同时,我们应当在实际操作前做好备份工作,并在测试环境中...
为了解决上述问题,可以创建一个通用的存储过程`[dbo].[Proc_UpdateNTextField]`,这个存储过程使用`updatetext`来逐个替换`ntext`字段中的特定字符串。存储过程的参数包括目标表名、目标字段名、主键字段名以及需要...
根据给定的信息,本文将详细解释如何通过执行特定SQL查询来查看存储过程的执行情况,以及如何通过查询数据库的不同视图来获取与IO操作相关的详细信息。这些信息对于监控数据库性能、诊断问题以及优化存储过程至关...
在SQL Server中,`text`和`ntext`数据类型是用来存储大文本数据的,它们与常规的字符串数据类型如`varchar`或`nvarchar`有所不同。当你试图像处理普通字符字段那样直接用`=`操作符来检查`text`或`ntext`字段是否为空...
因此,我们必须采用其他方法来替换text字段中的特定字符串。 这里提供了一种使用`PATINDEX`函数的解决方案。`PATINDEX`函数可以用来查找特定模式在文本列中的位置,这对于我们的目的非常有用。以下是一个具体的步骤...
对于text和ntext类型的字段,需要使用cast函数将其转换为varchar或nvarchar类型,然后再使用replace函数来实现批量替换。例如: update 表名 set 字段名=replace(cast(字段名 as varchar(8000)),'原本内容','想要...
Access数据库是一种关系型数据库管理系统,提供了一种存储和管理数据的有效方式。当我们需要在已有的Access数据库表中增加新的字段(列)时,VB可以提供编程接口来实现这一功能。以下将详细介绍如何使用VB来增加...
CLOB 字段可以存储大量的 Unicode 字符串数据,并提供了高效的读写机制。 将 Image 类型数据导出到 Oracle 的 CLOB 字段中 为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java...
这个存储过程将返回指定表的所有主键字段及其相关信息。 对于获取表的字段、字段类型、长度等信息,还可以使用以下查询: ```sql SELECT 表名 = CASE WHEN a.colorder = 1 THEN d.name ELSE '' END, 表说明 = ...
在ECSHOP的二次开发过程中,为了满足特定业务需求,有时我们需要为商品添加新的字段以存储额外的信息。本文将详细介绍如何在ECSHOP中为商品增加一个新字段,这里我们以添加名为`other_col`的字段为例。 首先,我们...
- `Form2.resx` 和 `Form3替换.resx`:这些是资源文件,存储了界面的本地化字符串和其他资源,可能包括查找和替换功能相关的按钮文本、提示信息等。 4. **实现细节**: - 在C#中,可以使用`System.Text.Regular...
例如,创建一个名为`f_getNewID`的存储过程,它接收两个参数:表名(myTableName)和字段名(myFeildName),返回该字段的最大值加1。初始的尝试可能会遇到错误,因为动态SQL的拼接方式不正确。原始代码如下: ```...
### SQL Server重置所有视图的存储过程 #### 背景与应用场景 在数据库管理过程中,经常会遇到因表结构更改(例如增加或删除字段)而导致依赖这些表的视图出现错误的情况。为了修复这类问题,手动更新每个受影响的...
这通常通过SQL查询实现,例如,使用`sp_columns`系统存储过程或者`syscomments`视图来获取元数据信息。在C#代码中执行这些查询,将注释信息存储在适当的数据结构中,如字典或自定义类。 接下来,我们需要在生成C#类...