当前位置:   article > 正文

sql 对表的操作_select use('lang') from dual;

select use('lang') from dual;

查询表名  select * from tab,  

                 select table_name from user_tables;

                  select object_name,object_type from user_objects;

                 select table_name,column_name from use_tab_columns;

给已存在的表添加唯一性约束

alter table 表名 add constraint u_emp unique(列名);    alter table 表名  modify(列名 unique)

丢弃约束  alter table 表名  drop constraint 约束名

禁用约束 alter table 表名 disable constraint 约束名 cascade  (可在user_constraint的status 查看约束状态   user_cons_columns)

表中有很多伪例   uid,user,rowid,rownum (序列参数 nextval currval)


主键约束  id number(4) constraint id_pk primary key

外键约束 id number(2) constraint emp_dept_fk foreign key(department_id) references departments(department_id)(定义约束时可加上级联删除  on delete cascade   或  on delete set null)

增加/修改/删除/不再使用列 alter table test add/modify/drop column/set unused  (name varchar2(20))

修改列名   alter table test1 rename column idd to id;

表只读 alter table test1 read only(read write);

删除表 drop table test1 purge(不保存在回收站)

如果误删除可以用flashback drop 功能找回 

show recyclebin;

flashback table test1 to before drop;

另:如果是删除表中的记录

先查看SCN号( 最新的SCN号)

 select dbms_flashback.get_system_change_number from dual;


GET_SYSTEM_CHANGE_NUMBER
------------------------
                 1337038

查找数据被删除前的SCN 

select * from test1 as of scn 1337038;

select * from test1 as of scn 1336868;

恢复数据

insert into test1 select * from test1 as of scn 1336868 where id=1

==============================

方法2(select current_scn from v$database;查看当前scn号)

将删除时间转换成 scn(select scn_to_timestamp(scn) from dual;将 scn号转为时间)

select timestamp_to_scn(to_timestamp('2016-09-09 15:00:00','yyyy-mm-dd hh24:mi:ss')) from dual;

通过SCN号创建一个临时表查看记录变化情况

create table reprotinf(count int,scn int);
declare i int:=1337893;
begin
for i in 1337893..1338494 loop
insert into reprotinf(scn)values(i);
update reprotinf set count=(select count(*) from test1 as of scn i) where scn=i;
end loop;
end;
/

然后和第一种方法一样,恢复数据




另:usernev()   返回当前用户环境的信息

select userenv('isdba') from dual;  是否是DBA

select userenv('sessionid') from dual; 返回会话标志

select userenv('entryid') from dual;返回会话入口标志

select userenv('instance') from dual; 返回当前instance标志

select userenv('language') from dual;  返回当前环境变量

 select userenv('lang') from dual;  返回当前语言的缩写

select userenv('terminal') from dual; 返回用户的终端或机器的标志

select vsize(user),user from dual; 返回用户 的字节数

sys_context

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/671565
推荐阅读
相关标签
  

闽ICP备14008679号