· 在线留言 · 关于我们
全国7X24小时服务热线:
029-8831-1253
 
当前位置:首页>信息化频道>信息技术

信息技术

SQL SERVER2000常见错误
西安软件公司, 西安软件开发 http://www.jzsoftit.com , 西安网站建设, 西安网站制作 http://www.jzsoftit.cn

 SQL SERVER2000深入学习之常见错误

/*数据库编程中常见的错误*/
--(1)处理空值
--(2)从结果集中对变量进行赋值
--(3)没有受影响的记录
--(4)错误大小或数据类型
--(5)默认长度所引发错误
--(6)触发器回滚
--(7)警告和优先级错误
--(8)嵌套注释
--(9)延迟名称解析
--(10)游标
--(11)过分自信

/* for example*/

--(1) 处理空值
--wrong->follow
--if @score=null (except set Ansi_Nulls off)
--if @score<>null

--Right
--if @score is null
--if @score is not null

--(2) 从结果集中对变量进行赋值
--未考虑返回记录集为空时并未对变量进行初始化所引起的问题
--当想返回给变量记录集最后一条记录可能出错,因为 有时很难预测最后一条记录时哪一条
--这取决于所用的索引和查询

--(3) 没有受影响的记录
--有时或许我们需要假设当T-SQL语句没有影响任何记录时,SQL-server将返回错误
--因为其是逻辑错误所以不可用@@Error来检测,应用@@rowCount

--(5)默认长度
/*
declare @vchardef varchar
set @vchardef="123456789012345678901234567890"
select datalength(@vchardef),@vchardef
--将返回1 1
*/
/* the follow is right
declare @vchardef varchar(30)
set @vchardef="123456789012345678901234567890"
select datalength(@vchardef),@vchardef
*/
(6) )延迟名称解析
--Set Xact_Abort On
--语句强制SQL_SERVER在出现错误时回滚整个事务,并停止进一步执行,停止当前批处理的执行,错误均被当成致命错误
--但是其不会检测到“编译错误中应延迟名称解析的原因而未在编译阶段发现的错误”如更新不存在的表
--因而并不在错误发生时回滚,而是继续提交和执行

关于我们  | 果蔬质量追溯系统  | 网站建设  | 网站推广  | 网站运营  | 软件开发  | 软硬件集成  | 软件选型  | 软件外包  | 系统托管  | 成功案例   | IT硬件  | 常见问题  | 在线留言  |  联系方式
  © 2005 www.jzsoftit.com  西安捷众软件科技有限公司 版权所有
地址:西安市高新区科技路东口中天国际B座19层 电话:029-88311253   QQ:1009213309  Email:jzsoftit@163.com