使用参数执行存储过程并在一个或另一个表上插入

时间:2018-06-14 17:01:44

标签: oracle

我正在学习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

好吧我想创建一个存储过程,询问我的支付类型(信用卡或现金)并选择,如果写卡存储过程在表格中插入数据和卡,否则在表格中插入数据和现金。我的想法没关系,或者创建该程序是不可能的

1 个答案:

答案 0 :(得分:1)

在Stilgar的顶部添加

开始: 使用人员,现金和卡表%rowtype的3个参数IN进行操作。 随身插入(因为这是卡或现金的情况) 然后,有关payment_type的案例声明将确定要插入现金表或卡表中的其他项(空值或废话值),返回到调用程序包/过程。

然后: 不知道多少,或者我在想太多其他事情,例如空处理,对其他字段的验证,错误处理等等,以及在proc范围内回滚/提交失败/成功。要么在调用proc之前让您获得“陷阱”,要么在proc插入之前对其进行处理。

您可以做到!