oracle10 行转列 函数 WMSYS.WM_CONCAT(name)
[b]外键[/b]
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))
[b]
nvl函数[/b]
nvl(a,b)当a为null时,取b值
[b]查看表结构[/b]
SELECT column_name, data_type FROM user_tab_columns WHERE table_name='DEPT';
[b]表空间[/b]
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;
[b]ora-12541 tns: 无监听程序 [/b]
HOST = localhost 换成ip地址
[b]导入导出 [/b]
imp \"sys/manager@oracle10 as sysdba\" file=name.dmp fromuser=user touser=user
exp user/password@oracle10 file=name.dmp full=y
[b]递归查询 [/b]
创建示例表:
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
[b]服务器端字符集[/b]
select name,VALUE from v_$parameter t where name = 'nls_language';
select userenv('language') from dual;
SIMPLIFIED CHINESE_CHINA.AL32UTF8
[b]sqlplus / as sysdba[/b]
SQL>sqlplus
SQL>sys/password as sysdba
[b]客户端字符集[/b]
NLS_LANG
AMERICAN_AMERICA.UTF8
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
[b]外键失效[/b]
ALTER TABLE REC_DEMAND
DISABLE CONSTRAINT FK_REC_DEMA_REC_DM_TY_REC_DM_T;
SELECT 'alter table ' || t.table_name || ' disable constraint ' || t.constraint_name || ';'
FROM user_constraints t;
[b]外键生效[/b]
ALTER TABLE REC_DEMAND ENABLE CONSTRAINT FK_REC_DEMA_REC_DM_TY_REC_DM_T;
[b]Oracle:查找表的主键,外键,唯一性约束,索引 [/b]
[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 = 要查询的表
[b]外键[/b]
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))
[b]
nvl函数[/b]
nvl(a,b)当a为null时,取b值
[b]查看表结构[/b]
SELECT column_name, data_type FROM user_tab_columns WHERE table_name='DEPT';
[b]表空间[/b]
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;
[b]ora-12541 tns: 无监听程序 [/b]
HOST = localhost 换成ip地址
[b]导入导出 [/b]
imp \"sys/manager@oracle10 as sysdba\" file=name.dmp fromuser=user touser=user
exp user/password@oracle10 file=name.dmp full=y
[b]递归查询 [/b]
创建示例表:
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
[b]服务器端字符集[/b]
select name,VALUE from v_$parameter t where name = 'nls_language';
select userenv('language') from dual;
SIMPLIFIED CHINESE_CHINA.AL32UTF8
[b]sqlplus / as sysdba[/b]
SQL>sqlplus
SQL>sys/password as sysdba
[b]客户端字符集[/b]
NLS_LANG
AMERICAN_AMERICA.UTF8
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
[b]外键失效[/b]
ALTER TABLE REC_DEMAND
DISABLE CONSTRAINT FK_REC_DEMA_REC_DM_TY_REC_DM_T;
SELECT 'alter table ' || t.table_name || ' disable constraint ' || t.constraint_name || ';'
FROM user_constraints t;
[b]外键生效[/b]
ALTER TABLE REC_DEMAND ENABLE CONSTRAINT FK_REC_DEMA_REC_DM_TY_REC_DM_T;
[b]Oracle:查找表的主键,外键,唯一性约束,索引 [/b]
[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 = 要查询的表