易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle多行记录合并/连接/聚合字符串的几种方法

什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name     Type          Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y                        
CITY     VARCHAR2(20) Y                        
SQL> select * from test;
COUNTRY               CITY
-------------------- --------------------
中国                  台北
中国                  香港
中国                  上海
日本                  东京
日本                  大阪
要求得到如下结果集:
-------     --------------------
中国        台北,香港,上海
日本        东京,大阪
   实际就是对字符实现一个聚合功能,我很奇怪为什么Oracle没有提供官方的聚合函数来实现它呢:)
   下面就对几种经常提及的解决方案进行分析(有一个评测标准最高★★★★★):
1.被集合字段范围小且固定型 灵活性★    性能★★★★ 难度 ★
   这种方法的原理在于你已经知道CITY字段的值有几种,且还不算太多,如果太多这个SQL就会相当的
长。。看例子:
SQL> select t.country,
   2   MAX(decode(t.city,'


相关文档:

Oracle和SQL server的数据类型比较


类型名称
Oracle
SQLServer
比较
字符数据类型
CHAR
CHAR
都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型
VARCHAR2
VARCHAR
Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串
NCHAR
NCHAR
前者最大长度2kb后者最大长度4 ......

Oracle tnslsnr设置口令

Cmd命令行输入lsnrctl进入监听模式,通过set password设置密码。
通过 change_password 修改密码。
LSNRCTL> help
以下操作可用
星号 (*) 表示修改符或扩展命令:
 
start               stop    &nbs ......

Oracle 存储过程返回结果集用

Oracle 存储过程返回结果集用 ref cursor 实现。试验步骤如下:
1. 建立 ref cursor 类型和过程
CREATE OR REPLACE PACKAGE types
AS
    TYPE ref_cursor IS REF CURSOR;
END;
/
CREATE TABLE STOCK_PRICES(
    RIC VARCHAR(6) PRIMARY KEY,
    PRICE NUMBER(7,2 ......

oracle常见语句

----本用户所拥有的系统权限:
select * from user_sys_privs;
---本用户读取其他用户对象的权限:
 select * from user_tab_privs;
-----添加权限
GRANT CREATE USER,DROP  USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY  VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE&nbs ......

oracle 存储过程的基本语法 及注意事项

oracle 存储过程的基本语法 及注意事项
oracle 存储过程的基本语法
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
    参数1 IN NUMBER,
    参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
  将selec ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号