orcle 中表中数据操作

--此例在PL/SQL developer内的sql窗口中使用
 --注:操作的表原名为:职务字典,原有数据列为:职务编码和职务名称且有数据
--建立一个新表
create table yfycode_level (
id varchar2(3),
name varchar2(16)
)
--在表中插入数据
insert into yfycode_level(id,name)
values('01','国家级')
--查询CODE_POSITION表中的所有数据并显示
Select * From CODE_POSITION   
--将表CODE_POSITION表中的数据及表结构一起拷贝到表YFYCODE_POS,相当于复制表CODE_POSITION   
Create Table YFYCODE_POS As Select * From CODE_POSITION 
  --查询表YFYCODE_POS表中的所有数据并显示,会发现与CODE_POSITION完全相同
Select * From YFYCODE_POS
--把表名为职务字典的表,改名为CODE_POSITION
ALTER TABLE 职务字典 RENAME TO CODE_POSITION
--在表CODE_POSTION表中加入两列分别为ID,NAME
alter table CODE_POSITION add ID Varchar2(3)
alter table CODE_POSITION add NAME VARCHAR2(16)
--将表中原来有的两列职务编码,职务名称内的数据复制到列ID,NAME中,且把职务编码,职务名称列清空
update CODE_POSITION set ID = 职务编码, 职务编码= Null,NAME =  职务名称, 职务名称 = NULL;
--将CODE_POSITION表中的列职务编码,职务名称删除
alter table CODE_POSITION set unused column 职务编码;
alter table CODE_POSITION set unused column 职务名称; 
--所采用的表是yfycode_pos,其中有两列数据分别为ID,NAME,并且有数据
Select * From yfycode_pos

--创建序列yfycode_pos_Id_sequence
Drop Sequence yfycode_pos_Id_sequence;
Create Sequence yfycode_pos_Id_sequence                                   
INCREMENT BY 1
START WITH 1
maxvalue 99999
NOCYCLE;
 
----创建触发器UserInfo_Id_trigger
CREATE OR REPLACE TRIGGER yfycode_pos_Id_trigger
BEFORE INSERT
ON yfycode_pos
FOR EACH ROW
DECLARE
newId Varchar(2);
BEGIN
SELECT yfycode_pos_Id_sequence.nextval INTO newId FROM dual;
:new.id := newId;
END;
首先执行创建序列和创建触发器后,则会在每次对表进行插入操作时,会自动生成ID号,如执行
Insert Into yfycode_pos(Name) Values('民磊磊')后,会自动增加一行(1, 民磊磊)。
再执行一次,则会再增加一行(2,民磊磊)。
--删除一个oracle中的表
drop table yfycode_level
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值