SQL2000与SQL2005语法对比.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL2000与SQL2005语法对比

SQL2000与SQL2005语法对比 一、sys.objects、sysobjects、sys.sysobjects sys.objects :在数据库中创建的每个用户定义的架构范围内的对象在该表中均对应一行。(只支持SQL2005) sysobjects :在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。(支持SQL2000和SQL2005) sys.sysobjects :在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。(支持SQL2000和SQL2005) 注: 1)、SQL2005包含sysobjects、sys.sysobjects主要是为了兼容SQL2000,建议使用sys.objects(SQL2000的时候,使用sysobjects与使用sys.sysobjects效果一样)。 2)、sys.objects使用 [object_id] = object_id(N‘**’) and type = ‘’来检索 sys.sysobjects与sysobjects使用 [id] = object_id(N‘**’) and xtype = ‘ ’来检索 二、sys.columns、syscolumns sys.columns : 为包含列的对象(如视图或表)的每列返回一行。(只支持SQL2005) syscolumns : 为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。(支持SQL2000和SQL2005) 注: 1)、SQL2005包含syscolumns主要是为了兼容SQL2000,建议使用sys.columns。 2)、sys.columns使用 [object_id] = object_id(N‘**’) and system_type_id = ‘’and user_type_id=‘’ and column_id = ‘’来检索 syscolumns使用 [id] = object_id(N‘**’) and xtype = ‘’ and xusertype=‘’ and colid =‘’来检索 三、创建存储过程时对语法的检验 2000在创建存储过程时,对存储过程里的语法校验不严格,但在2005中会对这些语法作严格的校验。以下的情况在2000下通过,但是2005不通过,大家创建存储过程时要注意: a. 在存储过程中使用不存在的字段,创建完该存储过程后再添加该字段。执行的结果2000也没有提示,但2005会明确提示该字段无效,例如: 列名 BookMemberName 无效。 b. 在存储过程中select的字段不明确时,2000也没有提示,但2005会明确提示。 例如,在存储过程中存在以下一段代码: SELECT UserGUID AS GUID , UserName AS Name FROM myUser u INNER JOIN myStationUser su ON su.UserGUID=u.UserGUID 结果提示错误: 过程xxxxxx,第 39 行列名 UserGUID 不明确。 c. 语法问题:错误的语法,例如存储过程中存在乱码 例如,在存储过程中存在以下一段代码: exec ? 2000下居然没有错误提示。但是2005下会提示出错。 四、varchar(max)、nvarchar(max)、varbinary(max) SQL Server 2005引入了一系列新的被称为MAX的数据类型。这是VARCHAR,NVARCHAR和VARBINARY类型的扩展,这几种类型以前被限制在8000字节以下。MAX可以容纳高达2GB的数据,与TEXT和IMAGE一样——并且完全兼容所有的SQL Server内置的字符串函数。 大值数据类型和 SQL Server 早期版本中与之对应的数据类型之间的关系: varchar(max) text nvarchar(max) ntext varbinary(max) image /* 4001+4001=8002,但是指定了尺寸的VARCHAR的极限是。因为这两个变量中没有一个是MAX类型, LEN函数的结果就是8000,不是8002。 */ DECLARE @String1 VARCHAR(4001) DECLARE @String2 VARCHAR(4001) SET @String1 = REPLICATE(1, 4001) SET @String2 = REPLICATE(2, 4001) SELECT @String2 SELECT LEN(@String1 + @String2) /*

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档