现在有两个表,一个是学生表,记录学生ID和名字;另一个表是交费表,记录某个学生交费的金额,时间.
create table T_STUDENT (
STUDENT_ID char(5) not null,
STUDENT_NAME CHAR(10),
constraint PK_T_STUDENT primary key (STUDENT_ID)
);create table B_FEES (
STUDENT_ID char(5) not null,
FEESACCOUNT number(7,2) not null,
FEESDAY date,
constraint PK_B_FEES primary key (STUDENT_ID, FEESACCOUNT)
);现在的问题是要做一触发器,实现:从输入中获取ID,姓名,交费时间,交费金额.如果此ID不存在,则向学生表中添加记录;若已经存在,只向交费表中添加记录.
create table T_STUDENT (
STUDENT_ID char(5) not null,
STUDENT_NAME CHAR(10),
constraint PK_T_STUDENT primary key (STUDENT_ID)
);create table B_FEES (
STUDENT_ID char(5) not null,
FEESACCOUNT number(7,2) not null,
FEESDAY date,
constraint PK_B_FEES primary key (STUDENT_ID, FEESACCOUNT)
);现在的问题是要做一触发器,实现:从输入中获取ID,姓名,交费时间,交费金额.如果此ID不存在,则向学生表中添加记录;若已经存在,只向交费表中添加记录.
解决方案 »
- oracle存储过程
- 帮忙看下这个语句的意思
- oracle瘦身的问题。以前里面存储了文件,我把里面的文件都删除了,可是数据库还是那么大?
- 这个SQL怎么写啊 ?
- 请问oracle的存储过程保存在哪张表
- 请问如何找到ORACLE真实的SQL执行语句?
- 怎样让数据库表中的一列自动增加?
- cascade constraints 是什么?
- CrystalReport的数据导出有什么注意事项么?点击报表的导出按钮,没有反应
- 关于flashback_transaction_query和dba_fga_audit_trail(已经commit)数据不能匹配的问题
- 各位好,遇到一个麻烦,还请各位大虾帮忙解决,分数不多,单一定兑现
- 新手报道,推荐一下oracle得学习资料
create or replace Stu_Fee
(
stuid in char,
stuname in char,
feesaccount in number,
feesday in date,
)
is
if ( select count(*) from t_student where studentid=stuid ) = 1
then insert into B_fees values(stuid,feesaccount,feesday)
else
insert into t_student values(stuid,stuname);
insert into b_fees values(stuid,feesaccount,feesday)
end if
end
测试一下,我也是看到了写的。还没有自己测试过,有问题自己修改一下了
btw,你那个id怎么来呀?