SQL SERVER2000深入学习之常见错误

2016-01-29 16:02 14 1 收藏

SQL SERVER2000深入学习之常见错误,SQL SERVER2000深入学习之常见错误

【 tulaoshi.com - SQLServer 】

SQL SERVER2000深入学习之常见错误

/*数据库编程中常见的错误*/

--(1)处理空值

--(2)从结果集中对变量进行赋值

--(3)没有受影响的记录

--(4)错误大小或数据类型

--(5)默认长度所引发错误

--(6)触发器回滚

--(7)警告和优先级错误

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

--(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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/sqlserver/)

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

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

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

来源:https://www.tulaoshi.com/n/20160129/1497153.html

延伸阅读
标签: SQLServer
安装SQL Server 遇到错误提示: 以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机!。 打开注册表编辑器,在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager 中找到 PendingFileRenameOperations 项目,并删除它。这样就可以清除安装暂挂项目。 注意:不用重起...
标签: Web开发
函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解。 javascript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。 在继续讲述之前,先看一下函数的使用语法: 以下是引用片段: ...
标签: 服务器
SQL Server2000安装时提示挂起的解决方法 安装 SQL2000 时,系统经常会提示:操作被挂起,要求重新启动计算机,如图1: 图1 重新启动后,再次安装时问题仍然存在。 解决办法: 1:在开始菜单中点击运行,输入 regedit ,打开注册表。 2:展开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manag...
标签: SQLServer
这是困难我几天的问题.如果你像我一样刚刚学习,那么看看吧,如果你是高手,停下来看看吧,我们需要你们的指导,谢谢!              SQL Server连接中的常见错误: 一."SQL Server 不存在或访问被拒绝" 这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. ...
1:获取当前数据库中的所有用户表 select Name from sysobjects where xtype='u' and status=0 2:获取某一个表的所有字段 select name from syscolumns where id=object_id('表名') 3:查看与某一个表相关的视图、存储过程、函数 select a.* from sysobjects a, syscomments b where a.id = b.i...

经验教程

269

收藏

24
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部