DB2中AQT编写存储过程DEFLOAT报错

qq_39167323 2017-08-21 11:27:29
今天写了个存储过程,编译能通过但是执行会报错,具体如下:

然后编译能通过Completed,执行就会报错:

后来换了一种想法,用IF EXISTS

结果还是一样,编译能通过但是执行就报错。。。。。
上网查了好久都找不到解决方法,求各位大神搭救!
...全文
546 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
OwenZeng_DBA 2017-08-21
  • 打赏
  • 举报
回复
引用 3 楼 qq_39167323 的回复:
补充一下,去掉IF之后单独执行存储过程INSERT INTO语句是没问题的,所以可以判断问题不是在INSERT INTO 那里; 主要是SELECT COUNT(*)这里,以及IF EXISTS()这里有问题,编译能通过但执行不了。。。。 此外,把SELECT COUNT(*) FROM **********里面的“COUNT(*)”换成表中的字段,也能编译通过和执行。。。。很迷啊
既然这样,就吧count(*) 换成 count(表中的字段)啊,,
引用 3 楼 qq_39167323 的回复:
补充一下,去掉IF之后单独执行存储过程INSERT INTO语句是没问题的,所以可以判断问题不是在INSERT INTO 那里; 主要是SELECT COUNT(*)这里,以及IF EXISTS()这里有问题,编译能通过但执行不了。。。。 此外,把SELECT COUNT(*) FROM **********里面的“COUNT(*)”换成表中的字段,也能编译通过和执行。。。。很迷啊
看错误还是类型转换的问题,,不过既然换成表中字段就可以了,那就换成表中的字段吧
qq_39167323 2017-08-21
  • 打赏
  • 举报
回复
补充一下,去掉IF之后单独执行存储过程INSERT INTO语句是没问题的,所以可以判断问题不是在INSERT INTO 那里; 主要是SELECT COUNT(*)这里,以及IF EXISTS()这里有问题,编译能通过但执行不了。。。。 此外,把SELECT COUNT(*) FROM **********里面的“COUNT(*)”换成表中的字段,也能编译通过和执行。。。。很迷啊
qq_39167323 2017-08-21
  • 打赏
  • 举报
回复
引用 1 楼 z10843087 的回复:
[quote=引用 楼主 qq_39167323 的回复:] 今天写了个存储过程,编译能通过但是执行会报错,具体如下: 然后编译能通过Completed,执行就会报错: 后来换了一种想法,用IF EXISTS 结果还是一样,编译能通过但是执行就报错。。。。。 上网查了好久都找不到解决方法,求各位大神搭救!
看错误提示是数据类型的错误 。你把插入变量的类型和表中的字段类型挨个检查下,看看那个是DECFLOAT,把类型换成一样的应该就可以了[/quote] 问题不是INSERT那里。。。。
OwenZeng_DBA 2017-08-21
  • 打赏
  • 举报
回复
引用 楼主 qq_39167323 的回复:
今天写了个存储过程,编译能通过但是执行会报错,具体如下: 然后编译能通过Completed,执行就会报错: 后来换了一种想法,用IF EXISTS 结果还是一样,编译能通过但是执行就报错。。。。。 上网查了好久都找不到解决方法,求各位大神搭救!
看错误提示是数据类型的错误 。你把插入变量的类型和表中的字段类型挨个检查下,看看那个是DECFLOAT,把类型换成一样的应该就可以了

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧