从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这么简单的存储过程,正常流程就两句话,INSERT INTO和COMMIT,COMMIT不可能出错,能编译通过的话,显然是INSERT INTO语句错了。你确认一下表 PS1_sys里面就只有6个字段,而且每个字段的类型和你的参数类型一致么?
创新互联专注于汤阴企业网站建设,响应式网站建设,成都做商城网站。汤阴网站建设公司,为汤阴等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
如果确认没有错的话,传入的参数的值,是不是跟表PS1_sys里面现有的唯一键值重复了?
补充一下:好像很少有人这样用returning,一般insert的时候用returning,都是因为表是自动生成id,在插入的时候并不知道id会是多少,所以插入之后用returning返回。像你的过程,其实直接INSERT INTO,然后给ReturnValue赋值好了。但我不能肯定是在这里出的错。
--这个是判断一个字符串是否为日期型的,如果异常就返回值0
CREATE
OR
REPLACE
FUNCTION
is_date(parameter
VARCHAR2)
RETURN
NUMBER
IS
val
DATE;
BEGIN
val
:=
TO_DATE(NVL(parameter,
'a'),
'yyyy-mm-dd
hh24:mi:ss');
RETURN
1;
EXCEPTION
WHEN
OTHERS
THEN
RETURN
0;
END;
你说的异常是什么意思?如果是,执行中的错误,那么可以用“调试”,不过需要有一个系统权限的拥护才能调试,权限好象是什么debug XXXXX。
如果说的是有时执行因为这样那样的数据问题出现的异常,那么一般都是通过exception来抛出异常的,这样的抛出的异常,你可以自己编代码,然后输入一张表内,这样就可以捕获异常了。如果1表示没有主键,2表示数据超长等等。具体的写法网上很多,这里就不写了。
把子存储过程中的异常处理去掉,父存储过程就能捕捉到异常了
第一种写法应该是不行的,必须要抛出一个错误才能阻止插入数据的动作,第一种写法只是将信息显示出来,没有什么作用。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图