浏览 1210 次
锁定老帖子 主题:oracle 基础
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-14
最后修改:2011-01-28
外键 create table person( person_id number primary key, age number(2), firstname varchar(10), lastname varchar(10), event_id number ) alter table person add (constraint peron_pk foreign key(event_id) references events(event_id)) nvl函数 nvl(a,b)当a为null时,取b值 查看表结构 SELECT column_name, data_type FROM user_tab_columns WHERE table_name='DEPT'; 表空间 create tablespace LSFC datafile 'F:\oracle10\product\10.2.0\oradata\oracle10\LSFC01.dbf' size 500M autoextend on next 100M maxsize unlimited logging extent management local autoallocate segment space management auto; alter tablespace users add datafile 'F:\ORACLE10\PRODUCT\10.2.0\ORADATA\ORACLE10\USERS05.DBF' size 400m; DROP TABLESPACE LSFC INCLUDING CONTENTS AND DATAFILES; ora-12541 tns: 无监听程序 HOST = localhost 换成ip地址 导入导出 imp \"sys/manager@oracle10 as sysdba\" file=name.dmp fromuser=user touser=user exp user/password@oracle10 file=name.dmp full=y 递归查询 创建示例表: CREATE TABLE TBL_TEST ( ID NUMBER, NAME VARCHAR2(100 BYTE), PID NUMBER DEFAULT 0 ); 插入测试数据: INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2'); 从Root往树末梢递归 select * from TBL_TEST start with id=1 connect by prior id = pid 从末梢往树ROOT递归 select * from TBL_TEST start with id=5 connect by prior pid = id 一、语法: TRANSLATE(string,from_str,to_str) 二、目的 返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一个超集。如果 from_str 比 to_str 长,那么在 from_str 中而不在 to_str 中的额外字符将从 string 中被删除,因为它们没有相应的替换字符。to_str 不能为空。Oracle 将空字符串解释为 NULL,并且如果TRANSLATE 中的任何参数为NULL,那么结果也是 NULL。 三、允许使用的位置 过程性语句和SQL语句。 四、示例 SELECT TRANSLATE('abcdefghij','abcdef','123456') FROM dual; TRANSLATE ( -------------- 123456ghij SELECT TRANSLATE('abcdefghij','abcdefghij','123456') FROM dual; TRANSL ---------- 123456 服务器端字符集 select name,VALUE from v_$parameter t where name = 'nls_language'; select userenv('language') from dual; SIMPLIFIED CHINESE_CHINA.AL32UTF8 sqlplus / as sysdba SQL>sqlplus SQL>sys/password as sysdba 客户端字符集 NLS_LANG AMERICAN_AMERICA.UTF8 SIMPLIFIED CHINESE_CHINA.ZHS16GBK 外键失效 ALTER TABLE REC_DEMAND DISABLE CONSTRAINT FK_REC_DEMA_REC_DM_TY_REC_DM_T; 外键生效 ALTER TABLE REC_DEMAND ENABLE CONSTRAINT FK_REC_DEMA_REC_DM_TY_REC_DM_T; Oracle:查找表的主键,外键,唯一性约束,索引 [url]http://www.cnblogs.com/chuncn/archive/2009/04/13/1434387.html/url] 1、查找表的所有索引(包括索引名,类型,构成列): select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表 2、查找表的主键(包括名称,构成列): select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表 3、查找表的唯一性约束(包括名称,构成列): select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表 4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询): select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表 查询外键约束的列名: select * from user_cons_columns cl where cl.constraint_name = 外键名称 查询引用表的键的列名: select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名 5、查询表的所有列及其属性 select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |