我正在学习Oracle PL / SQL,我有一个疑问,因为我不知道这个程序是否可以执行。
首先,我有3张桌子
TABLE PERSON TABLE CARD TABLE CASH
============ ========== ===========
id_per number number_card number amount number
name varchar2(40) date_expiration date id_per number
payment type varchar(4) ccv number
payment date date payment fees number
id_per number
好吧我想创建一个存储过程,询问我的支付类型(信用卡或现金)并选择,如果写卡存储过程在表格中插入数据和卡,否则在表格中插入数据和现金。我的想法没关系,或者创建该程序是不可能的
答案 0 :(得分:1)
在Stilgar的顶部添加
开始: 使用人员,现金和卡表%rowtype的3个参数IN进行操作。 随身插入(因为这是卡或现金的情况) 然后,有关payment_type的案例声明将确定要插入现金表或卡表中的其他项(空值或废话值),返回到调用程序包/过程。
然后: 不知道多少,或者我在想太多其他事情,例如空处理,对其他字段的验证,错误处理等等,以及在proc范围内回滚/提交失败/成功。要么在调用proc之前让您获得“陷阱”,要么在proc插入之前对其进行处理。
您可以做到!