sql 在存储过程中,我将一个字段取出,如‘20110231’然后转换为datetime格式,提示数据溢出。

[复制链接]
查看11 | 回复5 | 2012-1-31 11:51:01 | 显示全部楼层 |阅读模式
可以捕获异常EXCEPTION
WHEN OTHERS THEN
处理END ;...
回复

使用道具 举报

千问 | 2012-1-31 11:51:01 | 显示全部楼层
个人感觉有很多方法啊,比如先建个临时表,设定数据的长度,然後insert into..select..也可以试试删除原始数据,直接在原表中delete数据长度超过的数据还有试试IF语句, 比如 if len(日期)>6 ,delete.......
回复

使用道具 举报

千问 | 2012-1-31 11:51:01 | 显示全部楼层
可以获取错误号if(@@error = 242)--数据溢出错误号242delete from tbl where [datetime] = '20110231'
--删除else
......
.........
回复

使用道具 举报

千问 | 2012-1-31 11:51:01 | 显示全部楼层
增加exception处理就可以了,不详述。取出时记得记录行号(rowid),或者唯一索引的值,以便准确删除。...
回复

使用道具 举报

千问 | 2012-1-31 11:51:01 | 显示全部楼层
存储过程里是可以捕获错误的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行