drop table example; CREATE TABLE example( ID Number(4) NOT NULL , NAME VARCHAR(25), constraint example_id primary key(id) );drop SEQUENCE example_sequence;CREATE SEQUENCE example_sequenceINCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXVALUE -- 不设置最大值NOCYCLE -- 一直累加,不循环NOCACHE -- 不建缓冲区;drop TRIGGER example_triger;CREATE TRIGGER example_triger BEFORE INSERT ON example FOR EACH ROW WHEN (new.id is null) --只有在id为空时,启动该触发器生成id号begin select example_sequence.nextval into :new.id from dual;end;insert into example(name) values('张三');insert into example(id, name) values(111,'李四');insert into example(name) values('张三1');insert into example(name) values('张三2');insert into example(name) values('张三3');select * from example;drop table xxx;create table xxx as select * from example; --复制一个表的数据和结构,但约束不会被复制select * from xxx;--修改主键--1查主键 SELECT * from user_cons_columns c where c.table_name = 'example'; SELECT * from user_cons_columns c where c.table_name = 'xxx';--2删除主键 alter table example drop constraint example_id;--3增加新的主键约束 alter table example add constraint example_id primary key(id);--4添加列 alter table example add age number;--5删除列 alter table example drop column age;--6修改列(修改列类型的前提:需删除存在的数据库) alter table example modify age varchar(2); alter table example modify id varchar(20);--7添加约束 -- foreign key alter table example add constraint fk_example_xxx foreign key(pid) references xxx(pid); insert into example(name,age) values('张三1',1);insert into example(name,age) values('张三2',2);insert into example(name,age) values('张三3',113);insert into xxx(name,pid) values('张三2',21);insert into xxx(name,pid) values('张三3',1111);select * from example;select * from xxx;drop table xxx;create table xxx as select * from example;select * from xxx;--alter table xxx add pid number(10);-----处理复制表约束alter table xxx rename column id to sid;alter table xxx add id number;update xxx set id=sid;alter table xxx drop column sid;-----处理添加字段并为主键alter table xxx add pid varchar2(20);update xxx set pid=id;alter table xxx add constraint xxx_pid primary key(pid);select * from xxx ;----为example表添加外键alter table xxx add constraint fk_xxx foreign key(id) references example(id);--删除约束alter table xxx drop constraint fk_example_xxx;---------处理已有数据的字段类型修改(前4步操作会使表中的约束丢失)--1重命名字段alter table example rename column id to sid;--2添加id字段alter table example add id varchar2(200); --3更新数据update example set id = sid;--4删除备份数据的字段alter table example drop column sid;--5新增约束alter table example add constraint exmaple_id primary key(id);-------------------------------------------------------------------alter table example add unique(age);alter table example drop unique(age);--查找表的唯一性约束(包括名称,构成列)select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and cu.table_name = 'example';-----视图( 如果权限不足,grant connect,resource,dba to 你的实例)create table bbb as select * from example;CREATE OR REPLACE VIEW exam_sum_v1(name,age) AS SELECT d.name,d.age FROM bbb d;insert into exam_sum_v1(name,age) values('lisii',1221);insert into exam_sum_v1(name,age) values('lisii',1221);insert into exam_sum_v1(name,age) values('lisii',0000);insert into exam_sum_v1(name,age) values('lisii',111);select * from exam_sum_v1;select * from bbb;alter table bbb drop column id;select * from example;select * from xxx;--USER_TAB_COLS中记录了用户表的列信息SELECT USER_TAB_COLS.TABLE_NAME as 表名, USER_TAB_COLS.COLUMN_NAME as 列名, USER_TAB_COLS.DATA_TYPE as 数据类型, USER_TAB_COLS.DATA_LENGTH as 长度, USER_TAB_COLS.NULLABLE as 是否为空, USER_TAB_COLS.COLUMN_ID as 列序号, user_col_comments.comments as 备注 FROM USER_TAB_COLS inner join user_col_comments on user_col_comments.TABLE_NAME = USER_TAB_COLS.TABLE_NAME and user_col_comments.COLUMN_NAME = USER_TAB_COLS.COLUMN_NAME; --关联到表的所有字段信息select col.column_name, uc.constraint_type, case uc.constraint_type when 'P' then '√' else '' end "PrimaryKey" from user_tab_columns col left join user_cons_columns ucc on ucc.table_name = col.table_name and ucc.column_name = col.column_name left join user_constraints uc on uc.constraint_name = ucc.constraint_name and uc.constraint_type = 'P' where col.table_name = 'example';--查询某个表中的外键字段名称、所引用表名、所应用字段名select distinct (col.column_name), r.table_name, r.column_name from user_constraints con, user_cons_columns col, (select t2.table_name, t2.column_name, t1.r_constraint_name from user_constraints t1, user_cons_columns t2 where t1.r_constraint_name = t2.constraint_name and t1.table_name = 'example') r where con.constraint_name = col.constraint_name and con.r_constraint_name = r.r_constraint_name and con.table_name = 'example';
详细解决方案
oracle最新sql回忆性演示1
热度:40 发布时间:2016-05-05 10:26:05.0
相关解决方案
- oracle 分页排序,ssi,该怎么处理
- oracle 最近的时间(而不是前一天的时间) 跪求sql语句 。解决方法
- oracle,该怎么解决
- 在 Hibernate3 查询不到 Oracle 11g 里的记录
- oracle 安装时出现 java tm 异常
- android访问其他数据库(如:oracle、MySql等),希望大家给点建议!解决方案
- oracle 安插 LONG VARCHAR 类型数据
- ORACLE 一条SQL的有关问题
- oracle loadjava如何用
- oracle,该如何处理
- C# + SQL server +oracle QQ交流群142703980解决方法
- 怎么跟踪winform应用程序发送到数据库的sql(oracle、mssql)
- , 每次玩ASP都会遇到一些恶心的有关问题, 这次是:未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运,该怎么解决
- 求解:gridview行值的计算并绑定有关问题(asp.net+oracle)
- Oracle.DataAccess 执行多条sql语句,该如何解决
- VS10连接Oracle的有关问题:"Oracle.DataAccess.Client.OracleConnection"的类型初始值设定项引发错误
- System.Data.OleDb.OleDbException: 未找到 Oracle 客户端和网络组件。
- asp.net oracle 参数化 模糊查询出错,该怎么处理
- Oracle-参数查询有关问题
- oracle,insert 语句插入一条记录后要求,返回主键id値。解决思路
- Oracle 10g下的SQL语句,有点难度.请~[同时向朋友们道歉~]
- 月统计(oracle)解决办法
- 在线紧急等一sql语句(oracle),该怎么处理
- 面试问,为什么jsp+oracle,asp+sql server这样来搭配?该如何处理
- oracle 连接数据库该如何写语句的
- System.Data.OracleClient requires Oracle client software version 8.1.7 or greater
- oracle 防sql注入有关问题!
- 求 Oracle Database Server 'TNS Listener'远路数据投毒漏洞 补丁
- oracle 客户端链接服务端的方式?该如何解决