
数据库
文章平均质量分 73
海上明月-sky
不试一试,怎么知道不行?
眉毛上的汗水,眉毛下的泪水,你总得选一样
展开
-
oracle SQL语句硬编码带来的问题以及解决办法
好久没有写博客(吹nb)了,最近在工作中遇到了一些SQL硬编码的问题(系统部提出的要求,要求开发优化sql),下面具体说说。1、硬解析即整个SQL语句的执行需要完完全全的解析,生成执行计划。硬解析过程:1.语法、语义及权限检查;2.查询转换(通过应用各种不同的转换技巧,会生成语义上等同的新的SQL语句,如count(1)会转为count(*));3.根据统计信息生成执行计划(找出成本最...原创 2020-01-13 17:02:55 · 1317 阅读 · 0 评论 -
oracle 递归 树查找
-- 查询(oracle自带递归) SELECT DEPT_ID, DEPT_NAME,SUPER_DEPT_ID FROM system_dept where connect_by_isleaf=1 -- 只选叶子节点 START WITH DEPT_ID in( select a.object_id from system_role_object a,(s原创 2015-08-30 15:45:07 · 401 阅读 · 0 评论 -
MySQL 中NULL和空值的区别
转自:http://blog.sina.com.cn/s/blog_3f2a82610102v4dn.html平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解。注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效率的事情的发生。 问题 1: 首先,我们需要搞清楚 "空值转载 2015-07-13 13:27:12 · 816 阅读 · 0 评论 -
oracle中的nvl 、nvl2、decode、case when 函数的用法
参考文档:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html -- nvl函数-- NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。select nvl(flag,'11')flag fro原创 2015-07-13 15:01:52 · 2881 阅读 · 1 评论 -
语法:MySQL中INSERT INTO SELECT的使用
1. 语法介绍 有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,原创 2015-06-15 09:42:45 · 481 阅读 · 0 评论 -
MySQL 中的自定义函数和存储过程 简单实例
需要说明的是:MySQL中没有表变量, 一般是通过临时表来存贮结果集的。那么 我们如何取出在储存过程中select出来的结果集呢?如果是其它存储过程中,你可以使用生成的临时表。如果是java程序中,你可以直接象执行select * from aa一样调用call xxx();的结果--MySQL 中的函数-- 函数 返回int类型DELIMITER $$DRO原创 2015-06-12 16:37:54 · 792 阅读 · 0 评论 -
mysql中的begin-end流程控制语句与局部变量
转自:http://blog.sina.com.cn/s/blog_5198c7370100hvjq.html通常begin-end用于定义一组语句块,在各大数据库中的客户端工具中可直接调用,但在mysql中不可。begin-end、流程控制语句、局部变量只能用于函数、存储过程内部、游标、触发器的定义内部。以下的'[]'表示可选内容。1、begi转载 2015-06-11 16:51:27 · 13117 阅读 · 0 评论 -
SQL语句
mysql:给指定日期加一天用date_add函数 INterval 1 dayselect * from a,b where where a.company like '%张%' and a.id=b.company_id and otime>='2014-10-31' and otime如何查询上一条数据和下一条数据,这种写法为了防止:当你点击当前这一条数据7829原创 2015-05-21 09:37:58 · 463 阅读 · 0 评论 -
MySQL 中的存储过程和游标
学习了存储过程的基本语法,但是郁闷的是用while循环遍历游标 出现死循环(真的是很郁闷),用repeat 和loop则没有任何问题。到现在为止还没有解决。-- while循环drop procedure if exists test_while;create procedure test_while(out k varchar(30))begindeclare i int defau原创 2015-06-15 17:46:40 · 378 阅读 · 0 评论 -
Oracle 左连接、右连接、全外连接、(+)号作用
博客转自:http://blog.chinaunix.net/uid-21187846-id-3288525.htmlOracle 外连接(1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 外连接(Outer Join)outer join则会转载 2015-05-06 16:47:58 · 482 阅读 · 0 评论