发布网友 发布时间:2022-04-07 17:31
共8个回答
懂视网 时间:2022-04-07 21:53
1.无效的月份,一个可能是字符集的问题,
alter session set nls_language=american alter session set nls_language=‘SIMPLIFIED CHINESE‘
还有一种就是某张表对应的字段格式不正确
Select Sum((Months_Between(To_Date(Aae042, ‘yyyymm‘), To_Date(Aae041, ‘yyyymm‘)) + 1) * Aae180) From Ac20 Where Aac001 = 1002014776 And Aae140 = ‘110‘ And Substr(Aae041, 1, 4) = 1991;
这个例子中就是因为字段aae041的值为199113,月份不应该13.
oracle常见问题
标签:
热心网友 时间:2022-04-07 19:01
1、首先打开PL/SQL Developer软件,新建sql窗口。
2、打开修改oracle存储过程,该存储过程有一个输入参数(pid)跟一个输出参数(name),即通过用户id查询用户名称并将名称返回。
3、调试存储过程,找到刚刚修改的存储过程右击并点击【test】选项。
4、在打开的窗口内修改id值并点击左上角的倒三角形图标开始调试。按【CTRL+N】进行单步进入调试,【CTRL+O】单步调试,【CTRL+T】退出调试,也可以点击调试工具进行调试。
5、变量查看,在窗口下方可输入变量名称观察变量的变化情况。
6、调试完成后就可以检查调试结果,可以在调试结果中查看错误。
热心网友 时间:2022-04-07 20:19
可用第三方工具检查错误。
如以下存储过程:
其中第六行故意少写了一个分号。
然后执行后,会提示完成,这时可以去左边的树中找到这个存储过程,显示是有个红叉的。
这时,可以右键,选择编辑。
然后打开页面的最下方会显示如下信息。
此时鼠标双击信息的那一行,会在上方存储过程中以特殊颜色显示,这就说明,有特殊颜色的位置有错误,可以根据ORA-00933的错误号查询错误原因,并加以修改。
现在,如果可以后边的逗号补上,点执行,然后,下边会显示成功编译且左边的树红叉消除。
热心网友 时间:2022-04-07 21:53
用sqldeveloper吧。。oracle自带的ui,在里面应该能看出错误的热心网友 时间:2022-04-07 23:45
使用如下查询语句即可获取存储过程编译错误明细:热心网友 时间:2022-04-08 01:53
编译完成,不代表里面语句没问题,你最好看看你定义的类型和sql语句什么的查询还有错误,逻辑上的错误?热心网友 时间:2022-04-08 04:17
右键点存储过程重新编译一下就会提示你哪里有错误了热心网友 时间:2022-04-08 06:59
show errors procere xxx;