亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

替換text字段的儲存過程

系統 1810 0

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都好,一樣均可通用

替換text字段的儲存過程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 免费在线观看黄色毛片 | 亚洲狠狠操 | 精品美女 | 天天干天天干天天干天天干天天干 | 99免费在线播放99久久免费 | 精品国产一区二区二三区在线观看 | 一级无遮挡理论片 | 五月天婷婷亚洲 | tobesex日本护士 | 亚洲欧美日韩激情在线观看 | 国内精品视频在线播放一区 | 久久久婷婷 | 色综合久久久久久久久久久 | 日本一级爽爽爽爽 | 婷婷开心中文字幕 | 日本高中生一级乇片 | 国内精品欧美久久精品 | 99精品国产兔费观看久久99 | 国产伦理久久精品久久久久 | 99热最新网址 | 欧美不卡在线 | 国产成人综合网 | 欧美aav| 亚洲欧洲中文字幕 | 欧美6699在线视频免费 | 成人免费观看视频久爱网 | 国产99视频精品免视看7 | 午夜一级毛片不卡 | 婷婷网五月天天综合天天爱 | 99热手机在线观看 | 久久99国产综合色 | 国产福利在线观看第二区 | 香蕉久久a毛片 | 波多野结衣一区二区三区 | 天天干影院 | 狠狠躁天天躁夜夜躁婷婷 | 在线观看 一区二区 麻豆 | 中文字幕色婷婷在线精品中 | 亚洲国产一区在线精选 | 婷婷亚洲国产成人精品性色 | 亚洲欧洲一区二区三区在线观看 |