Liao_126 2015-11-24 09:34 采纳率: 75%
浏览 1337
已采纳

求帮忙,这表,还有代码有什么错

表描述 客户性别代码表 表名 T_GENDER
字段描述 字段名 字段类型 其他说明
性别 GENDER CHAR(1) RK
性别描述 GENDER_NAME VARCHAR2(100) Nor Null

表描述 证件类型代码表 表名 T_CERTI_TYPE
字段描述 字段名 字段类型 其他说明
证件类型 CERTI_TYPE CHAR(1) PK
类型描述 TYPE_DESC VARCHAR2(100) Not Null

表描述 客户状态代码表 表名 T_CUSTOMER_STATUS
字段描述 字段名 字段类型 其他说明
证件类型 STATUS_ID NUMBER(1) PK
类型描述 STATUS_NAME VARCHAR2(100) Nor Null

表描述 客户表 表名 T_CUSTOMER
字段描述 字段名 字段类型 其他说明
客户ID CUSTOMER_ID NUMBER(10) PK( Sequence:S_CUSTOMER_ID)
客户姓名 CUSTOMER_NAME CHAR(200) Not Null
性别 GENDER CHAR(1) Not Null FK(T_ GENDER)
生日 BIRTHDAY DATE Not Null
证件类型 CERTI_TYPE CHAR(5) Not Null FK(T_ CERTI_TYPE)
证件号码 CERTI_CODE VARCHAR2(50) Not Null

 入时间 INSERT_TIME DATE 默认值:sysdate
客户状态 STATUS CHAR(1)
客户电话 MOBILE NUMBER(11)

客户地址 DI_ZHI VARCHAR2(200)

表描述 投保人信息表 表名 T_POLICY_HOLDER
字段描述 字段名 字段类型 其他说明
流水ID LIST_ID Number(10) PK(Sequence:S_POI_HOLDER_ID)
客户ID CUSTOMER_ID Number(10) Not Null FK(T_CUSTOMER)
保单ID POLICY_ID Number(10) Not Null FK(T_POLICY)
客户电话 MOBILE NUMBER(11) Not Null
。。。 备注:其他字段略

表描述 保单信息表 表名 T_POLICY
字段描述 字段名 字段类型 其他说明
保单ID POLICY_ID Number(10) PK(Sequence:S_POICY_ID)
保单状态 POLICY_STATUS Number(1) Not Null
。。。 备注:其他字段略

.结合上面表结构,指出下面 PLSQL 代码存在哪些问题?
包体代码
eate or replace package PKG_LS_PM_NB fs
procedure F_CREATE_CUSTOMER(I_CUSTQMER_NAME invarchar2,
I_GENDER in char
I_BTRTHDAY in date
I_CERTI_TYPE in t_customer.certi_type%type
I_CERTI_CODE in varchar2,
I_MOBILE in t_customer.mobile%type,
I_CUSTOMER_ID out number
Procedure p_UPO_CUS_MOBILE(I_CUSTONER_ID IN NUMBER,
I_MOBILE IN t_customer.mobile%type);
end PKG_LS_PM_NB;
包体代码
Create or replace package body PKG_LS_PM_NB is
Procedure F_CREATE_CUSTOMER(I_CUSTOMER_NAME in varchar2,
I_GENDER in char
I_BIRTHDAY in date
I_CERTI_TYPE in t_customer.certi_type%type,
I_CERTI_CODE in varchuar2,
I_mobile in t_customer.mobile%type,
I_CUSTOMER_ID out number)as
m_customer_id number;
begin

Select customer_id into I_CUSTOMER_ID from t_customer
Where customer_name = I_CUSTOMER_NAME
and gender = I_GENDER and birthday = I_BIRTHDAY
and certi_type = I_CERTI_TYPE and certi_code = I_ CERTI_CODE;
if m_customer_id is null then
--更新客户电话
Update t_customer set customer_id = I_CUSTOMER_ID,mobile = I_MOBILE
Where customer_id = I_customer_ID;
else
select S_CUATOMER_ID.nextval into I_CUSTOMER_ID from dual;
insert into t_customer values (I_CUSTOMER_ID ,I_CUSTOMER_NAME,I_GENDER,I_BIRTHDAY,I_CERTI_TUYPE,I_CERTI_CODE,sysdate, θ,I_MOBILE,null);
end if;
end;

procedure P_UPD_CUS_MOBILE(I_CUSTOMER_ID IN NUMBER,
I_MOBILE IN t_customer.mobile%type) AS
M_LIST_ID number;
M_POLICY_ID number;
M_OK number;
Cursor c1 is
Select t1.list_id,t1.policy_id from t_policy_holder t1, t_policy t2
Where t1.policy_id = t2.policy_id and t2.policy_status =1
and t1.customer_id = I_CUSTOMER_ID;
BEGIN
OPEN c1;
Loop
Fetch c1 into M_POLICY_ID,M_LIST_ID;
Exit when c1%notfound;
R_POLICY_HOLDER.mobile :=I_MOBILE;
Update t_policy_holder set mobile=I_MOBILE where list_id = M_LIST_ID;
--生成批单信息,p_generate_notice方法略
M_OK := p_generate_notice(M_POLICY_ID);
If M_OK = 1 then
--处理失败,抛错
raise_application_error(-2θθθθ1,’保单处理失败’);

end if;
END LOOP;
END;
End PKG_LS_PM_NB

  • 写回答

1条回答 默认 最新

  • Liao_126 2015-11-25 11:06
    关注

    1:::::::::::::::::::

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能