📄 fg.txt
字号:
1,给一个表创建视图,该试图不包含约束为not null的列,怎么给该视图插入数据?对于not null约束的列,可以给个常量作为该列的默认值。(此处用递增,没有用常量)
/*create view sz
as
select z.id zid,z.name zname,s.id sid,s.name sname
from fgsp s,fgzl z where s.zlno = z.id;
*/
create or replace trigger sz_trigger
instead of insert
on sz
for each row
declare
i int;
k int;
begin
select max(time) into i from fgzl ;
k := i +1;
insert into fgzl values(:new.zid,:new.zname,k);
insert into fgsp(id,name,zlno) values(:new.sid,:new.sname,:new.zid);
end;
2,创建一个序列
create sequence fgsn
increment by 1
start with 200
maxvalue 30000000
minvalue 1
cache 5
order;
3,用scott用户登陆,建一张表,至少包含id,name,sex,date列,插入1000000条数据,为了防止表名重复,建议大家用自己的名字做表名。用练习2创建的序列给该表的id加值,列id为该表的主键
--create table fg(id number,name varchar2(10),sex varchar2(2),age number);
--alter table fg add constraint fgpk_id primary key(id);
declare
i int;
begin
for i in 1..1000000 loop
insert into fg values(fgsn.nextval,'g'||i,'男',25);
end loop;
end;
给name列创建B树索引,按该列查询
--create index fg_name_index on fg(name);
给sex列创建位图索引,按该列查询
--create bitmap index fg_sex_index on fg(sex);
给date列创建函数索引,按该列查询
--create index fg_age_index on fg(age + id);
把查询的结果也写到你的答案里
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -