当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL SERVER2000深入学习之常见错误

MSSQL
SQL0290N表空间状态问题:停顿的独占处理
实例讲解启动mysql server失败的解决方法
SQL Server 2005数据转换服务设计问题集锦
不能安装SQL Server 2005的问题及解决方法
SQL中Groupby和Having的使用方法
SQL Server中Update的用法
MSSQL中部分字段重复数据的删除方法
mssql 大小写区分方法
Sql server中时间查询的一个比较快的语句
机器异常关闭重起后出现ora-19809错误
快速解决日志文件满造成的无法写入问题
启用数据库复制时为什么会出现18483错误
实例讲解Ora-12514和Ora-12514解决方法
实例讲解MSDB数据库置疑状态的解决方法
实例讲解SQL查询连续号码段的巧妙解法
用一个案例讲解应用程序越来越慢的原因
一则DB2数据库重定向表空间的恢复案例
SCN不一致将会导致ORA-00600 2662错误
Vista下安装SQL Sever 2005报错的解决办法
用一条SQL实现:一行多个字段数据的最大值

MSSQL 中的 SQL SERVER2000深入学习之常见错误


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 135 ::
收藏到网摘: n/a

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在出现错误时回滚整个事务,并停止进一步执行,停止当前批处理的执行,错误均被当成致命错误

--但是其不会检测到“编译错误中应延迟名称解析的原因而未在编译阶段发现的错误”如更新不存在的表

--因而并不在错误发生时回滚,而是继续提交和执行