- 浏览: 490091 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
win2011ccc:
...
jstl EL表达式遍历Map -
winterwd:
懂了。插入数字应该使用jxl.write.Number参见下文 ...
用java将数据写入excel -
winterwd:
感谢分享。可是我的程序里面,NumberFormat不能初始化 ...
用java将数据写入excel -
waainli:
Oraxcel这个插件是怎么使用的啊?如何安装和使用。可以详细 ...
Oracle数据的导入和导出(Excel) -
FYIHDG:
key
jstl EL表达式遍历Map
SYS@anqing2(rac2)> create table ut(idnumber,phone varchar2(15),name varchar2(15)); Table created. SYS@anqing2(rac2)> insert into utvalues(1,'13888888888','dave'); 1 row created. SYS@anqing2(rac2)> insert into utvalues(1,'13888888888','dave'); 1 row created. SYS@anqing2(rac2)> insert into utvalues(2,'13899999999','dba'); 1 row created. SYS@anqing2(rac2)> commit; Commit complete. --在phone 字段上,我们创建uniqueconstraint SYS@anqing2(rac2)> alter table ut addconstraint uc_phone unique(phone); alter table ut add constraint uc_phoneunique(phone) * ERROR at line 1: ORA-02299: cannot validate (SYS.UC_PHONE) -duplicate keys found --这里报错,因为我们在插入数据的时候,有重复值,先删除掉重复值 SYS@anqing2(rac2)> select * from ut; ID PHONE NAME ---------- --------------- --------------- 1 13888888888 dave 2 13899999999 dba 1 13888888888 dave SYS@anqing2(rac2)> delete from ut whererownum=1; 1 row deleted. SYS@anqing2(rac2)> commit; Commit complete. SYS@anqing2(rac2)> select * from ut; ID PHONE NAME ---------- --------------- --------------- 2 13899999999 dba 1 13888888888 dave --唯一性约束创建成功 SYS@anqing2(rac2)> alter table ut addconstraint uc_phone unique(phone); Table altered. --查看约束 SYS@anqing2(rac2)> selectconstraint_name,constraint_type,table_name,index_owner,index_name fromuser_constraints where table_name = 'UT'; CONSTRAINT_NAME C TABLE_NAME INDEX_OWNER INDEX_NAME --------------- - -------------------------- ------------- UC_PHONE U UT SYS UC_PHONE --Oracle 自动创建了索引并关联到约束, 索引名和约束名是相同的。 --验证下索引 SYS@anqing2(rac2)> selectindex_name,index_type,uniqueness,generated from user_indexes wheretable_name='UT'; INDEX_NAME INDEX_TYPE UNIQUENES GENERATED ------------- ------------- ------------------- UC_PHONE NORMAL UNIQUE N --我们并没有创建索引,而是在创建unique constraint时,oracle 强制创建了uniqueindex。 --现在我们drop index 看看 SYS@anqing2(rac2)> drop index uc_phone; drop index uc_phone * ERROR at line 1: ORA-02429: cannot drop index used forenforcement of unique/primary key --这里报错,不能删除unique/primary key 上的索引。在这种情况下,我们只有先删除约束。 SYS@anqing2(rac2)> alter table ut dropconstraint uc_phone; Table altered. SYS@anqing2(rac2)> drop index uc_phone; drop index uc_phone * ERROR at line 1: ORA-01418: specified index does not exist --再次drop 索引时,提示索引已经不存在,说明已经在删除约束的同时,把索引删掉了。 SYS@anqing2(rac2)> selectconstraint_name,constraint_type,table_name,index_owner,index_name fromuser_constraints where table_name = 'UT'; no rows selected SYS@anqing2(rac2)> selectindex_name,index_type,uniqueness,generated from user_indexes wheretable_name='UT'; no rows selected 当约束列上没有索引时,在创建unique constraint 时,oracle 会自动创建unique index,并且该索引不能删除,当删除unique constraint 时,unique index 会自动删除。 --现在字段phone上创建B-Tree索引 SYS@anqing2(rac2)> create indexidx_ut_phone on ut(phone); Index created. --查看索引 SYS@anqing2(rac2)> selectindex_name,index_type,uniqueness,generated from user_indexes wheretable_name='UT'; INDEX_NAME INDEX_TYPE UNIQUENES GENERATED ------------- ------------- ------------------- IDX_UT_PHONE NORMAL NONUNIQUE N --创建unique constraint SYS@anqing2(rac2)> alter table ut add constraint uc_phoneunique(phone); Table altered. --查看约束和索引信息 SYS@anqing2(rac2)> selectconstraint_name,constraint_type,table_name,index_owner,index_name fromuser_constraints where table_name = 'UT'; CONSTRAINT_NAME C TABLE_NAME INDEX_OWNER INDEX_NAME --------------- - -------------------------- ------------- UC_PHONE U UT SYS IDX_UT_PHONE --这里重用了已经存在的索引 SYS@anqing2(rac2)> selectindex_name,index_type,uniqueness,generated from user_indexes wheretable_name='UT'; INDEX_NAME INDEX_TYPE UNIQUENES GENERATED ------------- ------------- ------------------- IDX_UT_PHONE NORMAL NONUNIQUE N --删除索引 SYS@anqing2(rac2)> drop indexIDX_UT_PHONE; drop index IDX_UT_PHONE * ERROR at line 1: ORA-02429: cannot drop index used forenforcement of unique/primary key --这个提示和之前的一样,我们先删除约束,在来查看 SYS@anqing2(rac2)> alter table ut dropconstraint uc_phone; Table altered. SYS@anqing2(rac2)> select constraint_name,constraint_type,table_name,index_owner,index_namefrom user_constraints where table_name = 'UT'; no rows selected --这里约束已经删除掉了。 SYS@anqing2(rac2)> selectindex_name,index_type,uniqueness,generated from user_indexes wheretable_name='UT'; INDEX_NAME INDEX_TYPE UNIQUENES GENERATED ------------- ------------- ------------------- IDX_UT_PHONE NORMAL NONUNIQUE N --但是我们的索引并在删除约束时删除掉 --在手工删除索引,成功 SYS@anqing2(rac2)> drop indexIDX_UT_PHONE; Index dropped. SYS@anqing2(rac2)> selectindex_name,index_type,uniqueness,generated from user_indexes wheretable_name='UT'; no rows selected --重新把约束和索引加上,然后一次删除 SYS@anqing2(rac2)> create indexidx_ut_phone on ut(phone); Index created. SYS@anqing2(rac2)> alter table ut addconstraint uc_phone unique(phone); Table altered. SYS@anqing2(rac2)> selectconstraint_name,constraint_type,table_name,index_owner,index_name fromuser_constraints where table_name = 'UT'; CONSTRAINT_NAME C TABLE_NAME INDEX_OWNER INDEX_NAME --------------- - -------------------------- ------------- UC_PHONE U UT SYS IDX_UT_PHONE SYS@anqing2(rac2)> selectindex_name,index_type,uniqueness,generated from user_indexes wheretable_name='UT'; INDEX_NAME INDEX_TYPE UNIQUENES GENERATED ------------- ------------- ------------------- IDX_UT_PHONE NORMAL NONUNIQUE N SYS@anqing2(rac2)> alter table ut drop constraint uc_phone drop index; Table altered. SYS@anqing2(rac2)> selectconstraint_name,constraint_type,table_name,index_owner,index_name fromuser_constraints where table_name = 'UT'; no rows selected SYS@anqing2(rac2)> selectindex_name,index_type,uniqueness,generated from user_indexes wheretable_name='UT'; no rows selected --索引和约束一次删除 当我们的列上有索引时,在创建unique constraint时,Oracle 会重用之前的索引,并且不会改变索引的类型,在第一个测试里,Oracle 自动创建的索引是unique index。 当我们删除约束时,关联的索引不会自动删除。 这个问题的MOS 上有说明。 参考MOS [ID309821.1]。 我们可以分两步,先删除约束,在删除索引。 MOS 提供了方法,就是在删除约束时,加上drop index,这样就能一次搞定。 SQL>altertable ut drop constraint uc_phone drop index;1. 测试unique index 和 unique constraint
结论:
2. 测试unique constraint 和non-unique index
小结:
发表评论
-
ORACLE Procedure function package cursor 简介
2011-11-23 16:46 29721、 PL/SQL语句块 PL/SQL语句块只适用于Ora ... -
procedure: 一个最简单的oracle存储过程"proc_helloworld"
2011-11-22 17:28 1590本文通过一个最简单的oracle存储过程"proc_ ... -
Oracle数据的导入和导出(Excel)
2011-10-13 16:38 9219一般导入数据到Oracle有几种方法!这可是经验之谈哦!分 ... -
excel 里的数据导入oracle数据库(2)
2011-10-13 11:03 1315有一个比较麻烦但保证 ... -
excel 里的数据导入oracle数据库
2011-10-13 10:59 14431 准备Excel导入数据 2 把Excel文件另存为(文本 ... -
Oracle 创建索引的基本规则总结
2011-09-14 00:35 2973一、B-Tree索引 1. ... -
oracle带时分秒日期的比较
2010-11-19 10:29 3678oracle 中不带时分秒的字符串 to_date 转换时 ... -
oracle SQL语句
2010-07-06 17:39 1059查找重复记录: select names,num fro ... -
Oracle中null的使用
2010-07-06 17:28 1343问:什么是NULL?答:在我们不知道具体有什么数据的时 ... -
主键与外键之ORA-02292: integrity constraint
2010-07-06 16:27 28024今天在删除一个表某条记录时,出现如下错误:ORA-02292: ... -
PL/SQL Developer使用技巧
2010-06-10 11:10 22511、右键菜单在PL/SQL De ... -
oracle 查询执行顺序
2010-06-09 21:18 3773oracle 语句提高查询效率的方法 1:.. where c ... -
ORA-01855: AM/A.M. or PM/P.M. required问题排查与解析
2010-06-09 19:12 36471.【问题现象】在中文Wi ... -
ORA-01810: 格式代码出现两次
2010-06-09 19:11 2370今天在做sql查询时发现了这样的问题,在网上搜索找到了答案,是 ... -
PL/SQL开发时,异常“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(二)
2010-04-27 10:38 8096我们在写PL/SQL语句时,经常会用到字符串A与数字B的比较, ... -
PL/SQL开发时,异常“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(一)
2010-04-27 10:36 4758如果是字符型的列,在记录中存在非数值的值,那么在隐转换的时候就 ... -
Ora-00054 resource busy and acquire with nowait specified
2010-04-23 10:09 2794当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增 ... -
Oracle中的空格函数和trim(' ')
2009-12-17 15:20 112331、可以使用LPAD和RPAD在字符串的左边 和右边填补空 ... -
trunc
2009-12-03 16:18 1879TRUNC()函數分兩種: 1.TRUNC(for date ... -
ORA-01855: 要求 AM/A.M. 或 PM/P.M.
2009-12-03 16:01 3169select TRUNC(TO_DATE('24-11-199 ...
相关推荐
C.CONSTRAINT_TYPE, CC.COLUMN_NAME FROM USER_CONSTRAINTS C, USER_CONS_COLUMNS CC WHERE C.OWNER = UPPER('&table_owner') AND C.TABLE_NAME = UPPER('&table_name') AND C.OWNER = CC.OWNER AND C.CONSTRAINT_...
CREATE [UNIQUE] INDEX index_name ON table_name (column,.. ASC/DESC) TABLESPACE tablespace_name [PCTFREE integer] [INITRANS integer] [MAXTRANS integer] [LOGGING | NOLOGGING] [NOSORT] STORAGE(INITIAL ...
AND c.owner = cc.owner AND c.constraint_name = cc.constraint_name ORDER BY cc.position; ``` 5. **删除主键或外键**: 删除约束的命令是: ```sql ALTER TABLE table_name DROP CONSTRAINT key_name; ...
Each index row in node pages contains an index key (or set of keys for a composite index) and a pointer to a page at the next level for which the first key value is the same as the key value in the ...
-- Create/Recreate primary, unique and foreign key constraints alter table USERS add constraint PK_USERID primary key (USERID) using index tablespace SYSTEM pctfree 10 initrans 2 maxtrans 255 ...
CREATE [UNIQUE] INDEX index_name ON table_name (column,... ASC/DESC) TABLESPACE tablespace_name [PCTFREE integer] [INITRANS integer] [MAXTRANS integer] [LOGGING | NOLOGGING] [NOSORT] STORAGE (INITIAL ...
WHERE C.OWNER = UPPER('&table_owner') AND C.TABLE_NAME = UPPER('&table_name') AND C.OWNER = CC.OWNER AND C.CONSTRAINT_NAME = CC.CONSTRAINT_NAME ORDER BY CC.POSITION; ``` **5. 删除约束** 当不再需要...
c.constraint_type, cc.column_name from user_constraints c, user_cons_columns cc where c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_...
AND au.constraint_type = 'P' AND au.table_name = '表名'; ``` #### 解析: 这段SQL语句用于查询特定表的主键信息。`user_cons_columns` 表记录了约束所涉及的列信息,`user_constraints` 表则包含了约束本身的...
CREATE [UNIQUE] INDEX index_name ON table_name (column, .. ASC/DESC) TABLESPACE tablespace_name [PCTFREE integer] [INITRANS integer] [MAXTRANS integer] [LOGGING|NOLOGGING] [NOSORT] STORAGE (initial ...
constraint SageCK CHECK (Sage > 0 AND Sage ) ); ``` - **Sno**:学号,主键,不允许为空。 - **Sname**:姓名,唯一性约束。 - **Ssex**:性别,默认值为0。 - **Sage**:年龄,范围检查约束,确保年龄在0到100...
xtree java异步加载树demo 环境:myeclipse6.5+jdk1.5+tomcat5.5+...-- Create/Recreate primary, unique and foreign key constraints alter table APPMENU add constraint PK_APPMENU primary key (APPMENUID);
create unique index kczccj_index on 成绩 (课程编号) go ``` - **创建唯一索引**:在`成绩`表上创建了一个名为`kczccj_index`的唯一索引,基于`课程编号`字段。 - **查看索引信息**: ```sql exec sp_...
constraint emp_check2 check(age>=18 and age) ); ``` 7. **表关系及字段的操作**:对表结构进行操作,如删除表、删除约束、添加字段和约束: ``` drop table emp; -- 删除表 alter table emp drop ...
CREATE UNIQUE INDEX 選_idx ON 選 (学 ASC, γ号 DESC); ``` ### 7. 创建视图 (CREATE VIEW) 视图是一种虚拟表,它的结果集是由存储在基本表中的数据通过SELECT语句导出的。创建视图可以简化复杂的查询并提供对...
tname VARCHAR(6), tage INT(3), tdate DATE NOT NULL, CONSTRAINT pk_tno PRIMARY KEY(tno), CONSTRAINT uk_tname UNIQUE(tname), CONSTRAINT check_tage CHECK(tage BETWEEN 0 AND 250))`,创建了一个包含主键、...
索引(INDEX)是提高查询性能的关键,创建唯一索引 `create unique index id_index on aa (id desc, name asc)` 可以加速特定查询。最后,`GETDATE()` 函数返回当前日期和时间,`DATEPART()` 用于提取日期或时间的...
CREATE UNIQUE INDEX IX_SaleDate ON ProOut(SaleDate) GO --单元九 语言编程基础 --计算有多少种产品(假设为x),然后显示一条信息:共有X种产品 DECLARE @X int SET @X =(SELECT COUNT (*) FROM Product ) ...
and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position; 5、删除主键或外键 alter table TABLE_NAME drop constraint KEY_NAME; 6、建外键 单字段时:create table 表名...
CREATE UNIQUE NONCLUSTERED INDEX [Inx_Name] ON [dbo].[Users] ( [Name] ASC ) ON [PRIMARY] DECLARE @index INT SET @index=0 WHILE @index BEGIN INSERT INTO Users(Name,test) values(@index,'walkingp') ...