oracle
tom3mao
后端技术专家
展开
-
在Oracle存储过程中实现类Mybatis的动态sql
客户要求把所有sql从MyBatis里移植到存储过程里面,这种需求很恐怖,但在客户面前毫无话语权,只好硬着头皮上。思路为 用正则替换掉占位符 采用oracle的dbms_sql工具包执行动态sql 记录每一步执行的日志 生产环境远比这复杂,这里写一个小测试做演示。首先创建工具包 CREATE OR REPLACE PACKAGE DATA_UTIL AS type gt_varchar原创 2017-10-21 19:42:31 · 571 阅读 · 0 评论 -
count(*) vs count(column) vs count(1)
概念 count(*)对行的数目进行计算,包含NULL count(column)对特定的列的值具有的行数进行计算,不包含NULL值。 count(1)这个用法和count(*)的结果是一样的。 Count(1) 实际上的意思是,评估Count(<expression>)中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。 Count(<express...原创 2019-03-13 11:15:25 · 613 阅读 · 0 评论