新手:存储过程不执行,麻烦 大侠 指点!
CREATE OR REPLACE PRO_TMP ( IN_SJLX IN VARCHAR2, IN_SJND IN NUMBER )
AS
BEGIN
update t_ljys set sqje= sqsl * sqdj where sqdj>0 and sqsl>0 and sjnd= IN_SJND and sjlx=IN_SJLX;
COMMIT;
END PRO_TMP;
update 语句在PLUS里执行没有问题,而在存储过程里不执行,是参数的问题吗?
错在哪?烦各位大虾指点迷津
问题点数:10、回复次数:5Top
1 楼cenlmmx(学海无涯苦作舟)回复于 2006-03-17 10:04:45 得分 5
没看出来, sjnd= IN_SJND and sjlx=IN_SJLX参数类型匹配吗?
Top
2 楼zlz_212(ShREk)回复于 2006-03-17 10:06:38 得分 5
CREATE OR REPLACE PRO_TMP ( IN_SJLX IN VARCHAR2, IN_SJND IN NUMBER )
AS
BEGIN
update t_ljys set sqje= sqsl * sqdj where sqdj>0 and sqsl>0 and sjnd= IN_SJND and sjlx=IN_SJLX;
COMMIT;
Dbms_output.Putline("OK");
exception
when others then
Dbms_output.putline(sqlcode);
END PRO_TMP;Top
3 楼lzzlw()回复于 2006-03-17 10:09:27 得分 0
sjnd= IN_SJND and sjlx=IN_SJLX 类型没有问题,过程编译没有问题,执行时也不提示出错Top
4 楼lzzlw()回复于 2006-03-17 10:16:08 得分 0
行号= 7 列号= 13 错误文本= PLS-00302: 必须说明 'PUTLINE' 组件
行号= 7 列号= 1 错误文本= PL/SQL: Statement ignored
行号= 10 列号= 13 错误文本= PLS-00302: 必须说明 'PUTLINE' 组件
行号= 10 列号= 1 错误文本= PL/SQL: Statement ignoredTop
5 楼zlz_212(ShREk)回复于 2006-03-17 10:43:40 得分 0
CREATE OR REPLACE PRO_TMP ( IN_SJLX IN VARCHAR2, IN_SJND IN NUMBER )
AS
BEGIN
update t_ljys set sqje= sqsl * sqdj where sqdj>0 and sqsl>0 and sjnd= IN_SJND and sjlx=IN_SJLX;
COMMIT;
Dbms_output.Put_line("OK");
exception
when others then
Dbms_output.put_line(to_char(sqlcode));
END PRO_TMP;
Top




