成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server數據庫內容替換方法

數據庫 SQL Server 數據庫運維
在使用iwms系統的過程中,我們會經常遇到數據內容的替換操作。在告訴大家如何替換數據內容之前,我建議大家先了解一下sql server數據庫的數據存儲類型

在使用iwms系統的過程中,我們會經常遇到數據內容的替換操作。在告訴大家如何替換數據內容之前,我建議大家先了解一下SQL Server數據庫的數據存儲類型:

SQL Server數據類型:

以上是數據庫的基礎知識,是做網站的朋友都應該知道的內容(無論你使用什么cms),所以建議大家都耐心看一下。

數據替換一般都發生在字符串數據字段中,除了ntext類型字段以外的其他字符串數據字段都可以使用以下的sql語句進行替換:

update [swf_Upload] set [Dir] = replace([Dir],'200901/14','200901/15')
update [swf_Content] set [Description] =
replace([Description],'200901/14','200901/15')
update [swf_Content_01] set [content] = 
replace(convert(varchar(4000), [content]),'200901/14','200901/15')

UPDATE [數據表名] SET [字段名] = REPLACE([字段名],'老字符串','新字符串')
比如,替換iwms文章數據表(iwms_news)中的標題字段(title)的部分內容,我們應該這么寫:

UPDATE [iwms_news] SET [title] = REPLACE([title],'老字符串','新字符串')
上面的sql語句在iwms后臺的sql執行里面可以直接執行,基本上可以搞定所有的替換操作,但是由于ntext數據長度的原因,這一方法對ntext類型字段無效。那我們該用什么方法替換ntext類型字段的內容呢?方法有兩種:

一是類型轉換,將ntext類型轉換為varchar類型,然后再用replace。適合于單頁內容***長度<4000的文章。

update [數據表名] set [字段名] = replace(convert(varchar(4000), [字段名]),'老字符串','新字符串')
比如,替換iwms文章數據表(iwms_news)中的標題字段(content,ntext類型字段)的部分內容,我們應該這么寫:

update iwms_news set [content] = replace(convert(varchar(4000),[content]),'老字符串','新字符串')

二是SQL Server存儲過程

declare @ptr varbinary(16)
declare @artId int
declare @Position int,@len int
set @len = datalength('老字符串')
declare wux_Cursor scroll Cursor
for
select textptr([字段名]),[key字段名] from [數據表名]
for read only
open wux_Cursor
fetch next from wux_Cursor into @ptr,@artId
while @@fetch_status=0
begin
select @Position=patindex('%老字符串%',[字段名]) from [數據表名] where [key字段名]=@artId
while @Position>0
begin
set @Position=@Position-1
updatetext [數據表名].[字段名] @ptr @Position @len '新字符串'
select @Position=patindex('%老字符串%',[字段名]) from [數據表名] where [key字段名]=@artId
end
fetch next from wux_Cursor into @ptr,@artId
end
close wux_cursor
deallocate wux_cursor
go

比如,替換iwms文章數據表(iwms_news)中的標題字段(content,ntext類型字段)的部分內容,我們應該這么寫

declare @ptr varbinary(16)
declare @artId int
declare @Position int,@len int
set @len = datalength('老字符串')
declare wux_Cursor scroll Cursor
for
select textptr([content]),[articleid] from iwms_news
for read only
open wux_Cursor
fetch next from wux_Cursor into @ptr,@artId
while @@fetch_status=0
begin
select @Position=patindex('%老字符串%',[content]) from iwms_news where [articleid]=@artId
while @Position>0
begin
set @Position=@Position-1
updatetext iwms_news.[content] @ptr @Position @len '新字符串'
select @Position=patindex('%老字符串%',[content]) from iwms_news where [articleid]=@artId
end
fetch next from wux_Cursor into @ptr,@artId
end
close wux_cursor
deallocate wux_cursor
go

ok了,需要注意的是:存儲過程只能在SQL Server查詢分析器中執行。

另外,由于iwms數據庫結構的問題,有分頁的文章內容需要先后對iwms_news和iwms_pages兩個表內容進行替換操作。

【編輯推薦】

  1. 有效使用SQL Server的自動管理功能
  2. 將SQL 2000日志遷移到SQL Server 2008
  3. 升級SQL Server 2008數據庫引擎
責任編輯:book05 來源: wujianrong.com
相關推薦

2011-08-25 16:13:31

SQL Server批量替換數據

2010-07-08 09:53:57

SQL Server

2009-03-19 09:44:07

SQL Server數據庫遷移數據庫

2011-08-29 15:40:00

SQL Server獲取TEXT字段的內容DATALENGTH

2010-09-14 09:53:52

sql server還

2010-07-15 17:28:50

SQL Server

2011-03-29 09:40:31

SQL Server數據庫鏈接

2011-03-30 15:36:31

SQL Server

2009-01-27 21:00:00

服務器數據庫SQL Server

2009-04-10 09:22:48

SQL Server并發測試

2009-05-04 13:43:16

SQL Server置疑數據庫恢復

2009-03-30 10:56:58

SQL Server數據庫死鎖數據庫

2010-09-13 15:55:17

SQL Server數

2010-09-13 15:31:14

sql server數

2010-09-06 09:53:41

SQL Server語句

2011-03-28 14:29:46

SQL Server數主鍵列

2010-09-03 11:00:47

SQL刪除

2010-11-08 16:04:06

SQL SERVER連

2010-11-08 14:02:40

SQL Server系
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 三级av在线| 精品国产亚洲一区二区三区大结局 | 日本一区二区三区在线观看 | 亚洲一区二区三区桃乃木香奈 | 亚洲一区中文 | 水蜜桃亚洲一二三四在线 | 亚洲视频免费在线观看 | 中文一区二区 | 亚洲一区二区免费视频 | 黄色一级电影免费观看 | 国产精品久久久久久久久免费 | 午夜电影网址 | 97在线超碰 | 成人一级片在线观看 | 97在线观看 | 久久精品亚洲欧美日韩久久 | 亚洲欧美国产毛片在线 | 欧美日韩精品一区二区三区四区 | 亚洲精品国产偷自在线观看 | 欧美在线a | 日日操视频 | 中文字幕亚洲视频 | 香蕉久久a毛片 | 免费v片| 91资源在线播放 | 成人一级黄色毛片 | 久久国产精99精产国高潮 | 亚洲成人免费观看 | 欧美 视频 | 欧美日日| 久久久久国产一区二区三区四区 | 国产一区h| 中文字幕一区二区三区四区五区 | 欧美日韩免费一区二区三区 | 亚洲美女一区二区三区 | 欧美精品在线免费观看 | 一二区成人影院电影网 | 人人看人人爽 | 日日草夜夜草 | 91av视频在线观看 | 久久狠狠 |