c语言sscanf函数的用法是什么
264
2022-09-22
主键自增长
a) 创建表(
i. 有主键,主键自增长
ii. 有一个数值类型,数据不能为空
iii. 有一个字符串类型,内容随意
b) 写一个存储过程,插入10000条数据
c) 统计这张表的
i. 记录数
ii. 数据类型字段的平均值、最大值、最小值、汇总求和
D)将c查询出来的记录,写入另外一张或多张表。
create table users( id integer primary key, name varchar2(20), age integer ); CREATE SEQUENCE seq INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 NOCACHE; CREATE or replace TRIGGER trig BEFOREinsert ON users FOR EACH ROWbeginselect seq.nextval into:New.id from dual;end; --insert into users(name,age) values('zhangsan',20);--select * from users;--delete from users where id<=6 and id>=1;create table huizong( id integer primary key, v_avg integer, v_max integer, v_min integer, v_sum integer);CREATE SEQUENCE seq2 INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 NOCACHE;CREATE or replace TRIGGER trig2 BEFOREinsert ON huizong FOR EACH ROWbeginselect seq2.nextval into:New.id from dual;end; create or replace procedure pro_01 is i integer; num_of_rows integer; --保存数据条数 avg_age integer; --保存年龄平均值 max_age integer; --保存年龄最大值 min_age integer; --保存年龄最小值 sum_age integer; --保存年龄总和begin for i in 1 .. 1000 LOOP insert into users (name, age) values ('zhangsan', mod(i, 50) + 10); commit; END LOOP; EXECUTE IMMEDIATE 'TRUNCATE TABLE huizong'; select count(*), avg(age), max(age), min(age), sum(age) into num_of_rows, avg_age, max_age, min_age, sum_age from users; insert into huizong (v_avg, v_max, v_min, v_sum) values (num_of_rows, max_age, min_age, sum_age); commit;end;begin pro_01;end;select * from users;
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~