文章类 软件类
好好999
站内搜索
 | 网站首页 | 网站建设 | 点滴人生 | 软件下载 | 站长必备 | 
您现在的位置: 好好888 >> 网站建设 >> 数据库 >> 数据库技术 >> 正文
专 题 列 表
最 新 热 门
更多
最 新 推 荐
更多
栏 目 推 荐
载入中…
浅谈SQL Server数据类型最大值       ★★★
浅谈SQL Server数据类型最大值
作者:佚名 文章来源:本站整理 点击数: 更新时间:2008-5-14 19:49:47

  事情开始得很简单。MegaWare公司市场部门想要一个新的网站来发布文档,开发团队觉得使用SQL Server 2000数据库作为文档存储仓库会使事情变得简单。Steve是MegaWare的数据库管理员,没有看出这有什么大问题;在数据库中存储文档,而不是使用文件系统,意味着服务器需要多做一些工作,但是它也会使得备份和管理容易得多。数据库与文件系统变得不同步也应该是不可能的。

  市场部门想要存储的许多文档都超过了8000个字节,那么很明显VARCHAR不是适合这项工作的数据类型。作为替代,TEXT数据类型被用来定义存放数据的字段。因为每个TEXT都能容纳2GB的内容,TEXT要存放市场部门的同事们扔进数据库的最大的文件也是没有问题的。

  数月过去了,市场用大量的无聊拷贝填满了整个数据库。但是这还不是Steve真正关心的问题。数据库愉快地嗡嗡作响地运转着,每个人对项目的结果都很满意。

  直到公司的标语改变的那个重大的日子。市场部的团队认为“MegaWare: It's really cool!”要比原来的“It's MegaWare's Way or the Highway!” 听起来更好。因为市场部团队已经将原来的标语嵌入了仓库中每个文档的页脚上,现在Steve的工作就是更改所有这些文档的页脚。

  “没有问题,” Steve想,打开SQL Server 查询分析器工具,执行了如下的T-SQL批处理:

1UPDATE MarketingDocuments2SET Document =3REPLACE(Document,4'It''s MegaWare''s Way or the Highway!',5'MegaWare: It''s really cool!)

  当他看到出现的错误消息的时候,Steve的轻松的微笑很快消失了,“替换函数的参数1,text数据类型无效。”

  替换函数在编写出来的时候,就对TEXT数据类型不起作用。同样也对CHARINDEX或者SUBSTRING不起作用——或者至少是他们在超过8千个字符的情况下不起作用。更进一步地讲,开发人员忘了处理TEXT或者IMAGE类型的本地变量;实际上不支持任何操作。即使是简单地更新一个文档中的一个子字符串都需要用到晦涩的东西,以及难以使用的类似READTEXT和WRITETEXT的函数。而不是开发人员或者忙碌的数据库管理员因为想要弄清如何正确使用而采用了不同类型的函数消耗了时间。

  SQL Server的开发人员很幸运,他们将会拨开乌云见蓝天。SQL Server 2005引入了一系列新的被称为MAX的数据类型。这是VARCHAR,NVARCHAR和VARBINARY类型的扩展,这几种类型以前被限制在8000字节以下。MAX可以容纳高达2GB的数据,与TEXT和IMAGE一样——并且完全兼容所有的SQL Server内置的字符串函数。

  用MAX关键字定义一个某种MAX类型的变量与替代字符串的尺寸(为VARCHAR/NVARCHAR的时候)或者字节(为VARBINARY的时候)一样简单。

1DECLARE @BigString VARCHAR(MAX)2SET @BigString = 'abc'

[1] [2] [3] [4] 下一页

文章录入:admin    责任编辑:admin 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    分享:我的oracle9i学习笔记(二)
    分享:我的oracle9i学习笔记(三)
    一个Mysql C API小型封装…
    Sql server 2005的XML最佳实施策略(1)…
    Sql server 2005的XML最佳实施策略(2)…
    Sql server 2005的XML最佳实施策略(3)…
    Sql server 2005的XML最佳实施策略(4)…
    sql server 2005 排序规则与大小写敏感…
    Sql server数据库不能启动常见故障…
    在Windows下管理Oracle9i服务
    Oracle 10g存储过程远程SQL注入漏洞…
    两台Sql server数据同步…
    SQL Server中发送邮件的新方式…
    SQL Server:错误18483…
    SQL2005其中三个版本的比较
    远程连接sql server 2000服务器的解决方案…
    如何自动发布MS SQL SERVER数据库…
    .NET基础知识-什么是.NET
    分享:Sql server 2005数据库安装心得…
    Mysql数据库的操作类(已封装)
     网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 关于本站 | 设为首页 | 加入收藏 | 站长邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    copyright:haohao888.com.cn