
SQL
onemetre
用少而精的代码,完成多而杂的事情
Write less,do more
展开
-
【笛卡尔积】sql中交叉联接的误解
<br />今天下午,开发人员问了个问题。<br />问题:T1(F11、F12)、T2(F21、F22)、T3(F31、F32)三表关联,想查出T1的F11等于T2的F21或者T2的F31的T1所有记录,即(F11=F21 or F11=F31),然后他这么写select T1.* from T1,T2,T3 where T1.F11=T2.F21 or T1.F11=T3.F31,可一直查不出记录。<br />分析:从逻辑上说,这样写sql没错。查看数据,T1 -1条、T2-3条、T3 -0,按照理解应原创 2010-11-02 11:02:00 · 1799 阅读 · 0 评论 -
oracle的SQL语句中同一函数执行的时间问题
【问题】请问以下两种SQL中:<br />select name, sum(price) from tbl order by sum(price);对sum(price)计算了两次?<br />select name, sum(price) t from tbl order by t;对sum(price)计算了一次?<br />如何证明?谢谢!【测试】1、建立自定义聚合函数create or replace type string_sum_obj as object ( <br />--聚合函数的实质就是原创 2010-11-02 18:57:00 · 2585 阅读 · 0 评论 -
【Oracle 函数索引】一次数据库的优化过程
建立函数索引后,又发现查询语句属于模糊搜索(即 like ‘%XXX%’),一般索引在模糊搜索下会全表扫描。但此函数索引不是要用其索引的快速筛选功能,而是要用其函数内部计算的过程(直接使用索引值而不用每次查询时再计算函数了,因为其严重影响效率),所以考虑只要使索引在执行计划中起效就行原创 2013-07-29 19:06:30 · 1271 阅读 · 0 评论 -
【Oracle】ORA-30553: 函数不确定的解决办法
ORA-30553: 函数不确定的解决办法,如果需要创建基于自定义函数的索引,那么我们需要指定deterministic参数,在函数建立的时候指定该参数问题可解决。原创 2014-12-20 16:50:23 · 3115 阅读 · 0 评论 -
【ORA-01455】转换列溢出整数数据类型
【问题】即将导出指定的用户.... 正在导出 pre-schema 过程对象和操作. 正在导出用户 SOA_XXX_V2 的外部函数库名. 导出 PUBLIC 类型同义词. 正在导出专用类型同义词. 正在导出用户 SOA_XXX_V2 的对象类型定义即将导出 SOA_XXX_V2 的对象.... 正在导出数据库链接. 正在导出序号. 正在导出簇定义.原创 2016-05-13 08:41:38 · 7644 阅读 · 0 评论 -
【 数据迁移】 MySql数据库迁移至Oracle
【问题】MySql5.6数据迁移至Oracle 10g【分析】百度后可以采用如下方式1、Navicat 的数据传输功能,发现MySql转Oracle时,存在生成的Sql语句表名含双引号问题,无法执行,而且blob字段转换也存在语句问题2、使用Convert Mysql to Oracle工具(http://www.5stardatabasesoftware.com/cn/download/mysq...原创 2018-07-02 17:14:15 · 1597 阅读 · 0 评论 -
【Oracle】 Oracle BLOB转CLOB出现字符乱码问题
【问题】BLOB类型转CLOB出现乱码问题CREATE OR REPLACE FUNCTION BlobToClob(blob_in IN BLOB) RETURN CLOB AS v_clob CLOB; v_varchar VARCHAR2(4000); v_start PLS_INTEGER := 1; v_buffer PLS_INTEGER :...原创 2018-07-05 15:14:50 · 5185 阅读 · 4 评论