日志列表

  • 行列統計

    jack198409 (湖北) 发表于 2007-11-10

    SQL> WITH A AS( SELECT '張三' NAME,80 YW,90 SX, 70 WY FROM DUAL2 UNION3 SELECT ' 李四' NAME,80 YW,90 SX, 70 WY FROM DUAL4 UNION5 SELECT ' 小王 ' NAME,80 YW,90 SX, 70 WY FROM DUAL6 )7 select NAME,SUM(YW) YW,SUM(SX) SX,SUM(WY) WY,SUM(YW)+SUM(SX)+SUM(WY) TOTAL FROM A8 group by rollup (NAME);... ...全文

  • start with ......connect by prior .....用法

    jack198409 (湖北) 发表于 2007-11-09

    /*Start with 开始位置,connect by prior 子节点=父节点;必须使用prior引用父行sys_connect_by_path(userid, ',')之间用','分割*/With x As (SELECT 'test_1' NAME, 'test1' userid FROM dual UNION ALLSELECT 'test_1' NAME, 'test2' userid FROM dual UNION ALLSELECT 'test_2' NAME, 'test1' userid FROM dual UNIO... ...全文

  • 请教一个sql的优化

    tigersun (北京) 发表于 2007-11-08 评论: 17

    发现一条sql 语句disk reads很高,察看执行计划,发现对两表均是全表扫描,查看索引,学生选课表的“开始时间和结束时间”两个字段上有索引,且开始时间位于索引字段第一列,学生信息表的注册时间上有个单独的索引。 select count(distinct a.帐号id) num from 学生选课表 b, 学生信息表 a   where &... ...全文

  • 一个简单过程出错,怎么回事?高手赐教

    tigersun (北京) 发表于 2007-11-08 评论: 2

    SQL> create or replace procedure kill_session is   2    v_sid number;   3           v_serial number;   4           killer varchar2(1000);   5          ... ...全文

  • 列變行的SQL語句

    jack198409 (湖北) 发表于 2007-11-08

    多列變一行a 表中有三条记录如下:M N1 开1101 开210101 开3如何用一条SQL将a表中的三条数据变成一条插入b表,如下:M1 N1 M2 N2 M3 N31 开1 101 开2 10101 开3WITH A AS (SELECT 1 M,'開1' N FROM DUALUNIONSELECT 101 M,'開2' N FROM DUALUNIONSELECT 10101 M,'開3' N FROM DUAL)SELECTMAX(DECODE(C.SEQ, 1, C.M)) AS ... ...全文

  • 表的幾種連接方式

    jack198409 (湖北) 发表于 2007-11-08

    SQL> select * from R2 /A B C---------- ---------- ----------4 2 54 3 56 3 46 5 77 3 26 6 66 rows selectedSQL> select * from S;B C D---------- ---------- ----------3 5 75 2 32 5 68 8 82 5 65 2 36 rows selected--左連接select * from rselect r.*,s.* from r,s where r.b=s.b(+)order by r.aselect r... ...全文

  • INSERT SELECT 的經典用法

    jack198409 (湖北) 发表于 2007-11-08

    Insert…Select使用Insert Select实现同时向多个表插入记录2007/06/25一、无条件 INSERT ALL---------------------------------------------------------------------------------------------INSERT ALLinsert_into_clause values_clause_1[insert_into_clause values_clause_2]……Subquery;------------------------... ...全文

  • 刪除重復紀錄的兩種方法!

    jack198409 (湖北) 发表于 2007-11-07

    方法一delete from i a where a.rowid<(select max(rowid) from i b where a.no=b.no)方法二delete from i where rowid in (select rowid from (select no,row_number()over(partition by no order by no) rn from i )where rn>1) ...全文

  • 用SQL寫,該怎么寫?

    jack198409 (湖北) 发表于 2007-11-07

    我现在有一个表,如下: A1 A2 B1 B2 111 50 111 20 121 60 121 100 122 40 135 55 141 15 NULL NULL 101 40 NULL NULL 151 21 想要得到的结果是: C1 C2 111 30 121 40 122 40 135 55 141 15 101 40 151 21 即 如果A1=B1时,A1或B1随便取一个,后一个字段的值为 ¦A2-B2 ¦ A1=null时,结果取B1, &brvba... ...全文

  • 请教日期类型字段在where字句中的使用

    tigersun (北京) 发表于 2007-11-06 评论: 7

    我的问题是: 日期类型和字符串是否可以直接比较? 比如:to_char(created_date) >= '2007-10-01 00:00:00' 能否改为: created_date >= '2007-10-01 00:00:00',结果一样吗? 我试的结果是一样,而且后者可以用到索引,而前者不行,问问大家是否的确可以这样使用,请高手赐教 ...全文

  • 日期类型字段在where字句中的使用,高手赐教

    tigersun (北京) 发表于 2007-11-06 评论: 3

    我的问题是: 日期类型和字符串是否可以直接比较? 比如:to_char(created_date) >= '2007-10-01 00:00:00' 能否改为: created_date >= '2007-10-01 00:00:00',结果一样吗? 我试的结果是一样,而且后者可以用到索引,而前者不行,问问大家是否的确可以这样使用,请高手赐教 ...全文

  • 怎么清除会话设置?

    tigersun (北京) 发表于 2007-11-06 评论: 3

    比方,alter session set nls_date_format='yyyy:mm:dd hh24:mi:dd' 更改了会话之后,如果想撤销设置,该如何做? ...全文

  • 请教一个sql,前辈指条思路

    tigersun (北京) 发表于 2007-11-06 评论: 12

    test表有a,b两个字段,a为date类型,现在想统计上一个月中,每小时内b的记录数,如何书写比较简单?请有经验的前辈指条思路 ...全文

  • 请教v$sql

    tigersun (北京) 发表于 2007-11-05 评论: 5

    相同的sql_id,hash_value和address,怎么会有两条记录? ...全文

  • 找出长时间滞留session执行的最后一条sql语句的方法

    tigersun (北京) 发表于 2007-11-02 评论: 5

    前几天发帖,说我们数据库中有很多session保持几天的不释放,有可能是应用程序中的部分connect未关闭所致,应用那边不愿意彻底排查应用程序,所以希望从数据库这边入手,找出这些session所执行过的最后一条sql语句,以便在程序中定位未关闭connect。     考虑过使用sql_trace,logmnr,审计等方案,都觉得不太... ...全文

  • 工作中遇到一个问题,请前辈支招!

    tigersun (北京) 发表于 2007-10-31 评论: 12

    公司的数据库经常在夜间保持多个连接,这和我们实际的业务不符,现在怀疑是应用程序中有些连接没有及时关闭所致。    由于程序很庞杂,开发人员很难定位哪些地方的连接没有关闭,所以希望从数据库这边入手,找出那些持久连接的session之前究竟做过哪些操作。    对于这一点,我想问的是:  ... ...全文

  • 对session几种状态的测试结果,大家是否认同?

    tigersun (北京) 发表于 2007-10-30 评论: 13

    以下是我在sqlplus下的测试结果,请多指点: 一、ACTIVE:     状态来源:         1、当前session正执行更新(UPDATE)操作;         2、当前session正执行删除(DELETE)操作。     说明:关闭连接,session信息被清除。 二、INACTIVE: &n... ...全文

  • 10g优化器对in的操作有所改进,ms可以用到索引。

    tigersun (北京) 发表于 2007-10-25 评论: 12

    首先声明一下:我做dba不久,经验十分有限,技术贴不敢发,怎奈手痒,这篇测试如果有不当之处,请达人尽快指出,以免误导别人 看到网上有篇优化sql的文章说: “oracle在处理in的时候是转换成or进行处理的,如: a in (1,2)相当于 a=1 or a=2 而对于b*tree索引来说,对于or操作是不会用到索引的。” 上面这段话... ...全文

  • 谁帮我看下metalink上这段话,狂怀疑

    tigersun (北京) 发表于 2007-10-23 评论: 1

    原文出处:http://www.itpub.net/29477,2.html If "init.ora" resource_limit = true, and idle_time set in profile. When idle_time exceeds, the session status becomes 'sniped' in v$session, but sniped sessions never get cleaned up. Using 'alter system kill session' to kill the... ...全文

  • 为表某一字段的值添加前缀的问题,求教!

    tigersun (北京) 发表于 2007-10-18 评论: 3

    temp_test表只有一个name列,为varchar2(30)类型 设计下面的匿名块为name列各行的值加一个前缀 'D_',成功运行后,结果是:各偶数行的值添加成功,各奇数行的值却保持原样 ,请教各位问题出自哪里? declare v_name varchar(30); cursor name_cur is select name from temp_test for update of name; begin... ...全文

1617/9<123456789>