oracle三、增删改







insert into emp(empno,job,comm) values (1000,'小李', 'clerk',null);
select emopno,job,comm from emp where empno = 1000;

insert into emp(ename, job,hirdate,empno) vlaues('小马','CLERK','10-1月-03',1001);
insert into dept values (50,'培训部','深圳');
insert into emp(empno,ename,job,sal) values(1005,'杨华','clerk',null);

create table manager as select empno.ename,sal from emp where job ='MANAGER';
insert into manager select empno,ename,sal from emp where job ='clerk';



create sequence abc increment by 1 start with 2000 maxvalue 999999 cycle nocache;
INCREMENT BY:用于定义序列的步长,如果省略则默认为1,如果负值,则代表序列的值是按照此步长递减的。
START WITH:定义序列的初始值,默认为1.
MAXVALUE:定义序列生成器能产生的最大值
CYCLE和NOCYCLE:表示当序列生成器的值达到限制值后是否循环。CYCLE代表循环,NOCYCLE代表不循环。
CACHE:定义存放序列的内存块的大小,默认为20.NOCACHE表示不对序列进行内存缓冲。
注意:序列如果用来产生主键,不建议使用CYCLE选项。



insert into manager values(abc.nextval,'小王',2500);
insert into manager values(abc.nextval,'小赵',2800);
select empno,ename, sal from emp;
NEXTVAL:返回下一个可用的序列值。
CURRVAL:获得当前的序列值。
当使用abc.NEXTVAL时,一个新的序列数被产生并且当前的序列数被放入CURRVAL,而CURRVAL伪列用于查询用户刚才产生的序列数。

1.不能修改序列的起始值,如果想以不同的数字重新开始一个序列,必须删除序列重建。
2.序列的最小值不能大于序列的当前值。
3.序列的最大值不能小于序列的当前值。
4.修改后的序列规则不影响以前的序列值,只有未来的序列值会受到影响。

5.用户必须具有ALTER SEQUENCE的权限。

  1. drop sequence abc;

update emp set sal = 3000 where empno = 1000;
update emp set hiredate = sysdate ,deptno = 50 where empno = 1000;
update emp set job = 'manager' ,sal =4000 where empno = 7788;
update emp set sal = sal+100;
update emp set sal = sal+sal*10% where deptno = 10;

update manager set (ename,sal) = (select ename ,sal from emp where empno=7788)where empno=1000;

delete from emp where empno =1000;
select * from emp where empno =1000;



truncate table manager;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值