随笔分类 - 2.SQL
摘要:sql语言中,并没有数组这个数据类型,所以需要自己定义; 定义方式如type语句; 定义好后,给数组赋初值,注意这个赋初值的操作和js、java不一样,不能用中括号[]直接赋初值,需要用arr类型,有点像new arr()创建一个对象出来; declare type arr is ARRAY var
阅读全文
摘要:游标的使用步骤 定义游标 open游标 fetch游标赋值给变量或集合 close游标 游标的分类: 一。静态游标 1、隐式游标 系统帮我们定义好的游标。注意一句话,每当我们执行一个dml语句,系统就会自动帮助我们创建隐式游标。 例如,将孙丽的电话号码修改为 13818882888。 BEGIN U
阅读全文
摘要:一、查询与优化相关概念 1、一条查询sql分为这几个列:连接列(和join相关)、条件列(where子句后的列)、查询列(select的列) 一个好的执行计划分为这几个重点: 访问路径、连接方式、连接顺序 2、优化目标:最快响应时间 3、查询优化器通过 “分析所有可用的执行方式” 和 “查询所涉及的
阅读全文
摘要:一、事务隔离级别 事务隔离级别介绍: @Transactional(isolation = Isolation.READ_UNCOMMITTED)读取未提交数据(会出现脏读, 不可重复读) 基本不使用 @Transactional(isolation = Isolation.READ_COMMITT
阅读全文
摘要:minus、union 、interspect minus和not in的区别 minus是求差集,可以寻找左边表存在右边表不存在的数据,即左边表减去两表的交集。 minus可以实现not in(使用not in注意空值)的所有功能, 例: select * from sysdba.origin_t
阅读全文
摘要:服务器和终端的区别: 简单来说,服务器由于要像一个中心一样对各种请求进行处理,所以服务器要是一台高计算能力、高硬件配置的机器,而终端不用。 远程和实时归档即时归档的区别: 在于,实时即时归档不需要配置远程服务器的归档目录,而远程归档需要在dmarch.ini中配置。 自我感觉,实时即时归档偏向于发送
阅读全文
摘要:Application context分为三种 dabase session-based application context,又称为local application context。 global application context client session-based applica
阅读全文
摘要:一、介绍上下文 上下文,不清楚mysql有没有,orcale和dm是有的。 上下文,有点类似java中的静态变量,里面的数据在单独的一块内存区域,不随着对象、方法的消亡而消失,而是随着类的加载而加载,随着类的消失而消失。 如果有什么变量要经常用到,放到静态变量中是不错的,在sql中,放到上下文也是不
阅读全文
摘要:1.创建表空间 create tablespace test_ts datafile 'D:\develop\dmdbms\data\DAMENG\test_ts.DBF' size 128 autoextend on cache=normal; --autoextend on 表示开启自拓展;au
阅读全文
摘要:DMSQL中的包也好,类也罢,都是类似java中的类的概念。只是,DMSQL中的包是面向过程的,没有继承的概念。DMSQL中的类是面向对象的,和java中的类相似都有继承的概念。我们前面学的存储过程/函数,现在可以通过一个包全部把他们都集合在一个包里,并且在这个包里还可以定义所有存储过程/函数会用到
阅读全文
摘要:我们知道,存储过程和存储函数的主要区别是存储函数可以有一个返回值,但是,存储过程可以通过输出参数的形式得到返回值, 现在,我们分别来介绍一下两个模块为实现返回值功能的 异同点: 存储函数: create or replace function test_func(a in int, b in int
阅读全文
摘要:1、存储模块中的存储过程和存储函数 1.存储过程: 存储过程没有返回值,想要返回一个数据比较麻烦,需要通过输出参数; 2.存储函数 存储函数有返回值,想要返回一个数据很简单,只要在sql块中使用return语句即可; 2、创建存储模块: create procedure 模式名.存储模块名(参数1
阅读全文
摘要:1、where子句的查找条件中,如果是范围查找那么索引列的值<是走索引的;<>和>是不走索引的; 举例:(age列有普通索引) select * from test_table where age < 100;走索引 select * from test_table where age <> 100
阅读全文
摘要:一. JDBC动态查询 动态查询:根据用户给定的条件来决定执行什么样的查询。 2. 应用程序分层 2.1什么是应用程序分层 应用程序通过创建不同的 包 来实现项目的分层,将项目中的代码根据功能做具体划分,并存放在不同的包下。 2.2分层优点 1、分层结构将应用系统划分为若干层,每一层只解决问题的一部
阅读全文
摘要:一、SQL 注入问题 (1)什么是 SQL 注入 所谓 SQL 注入,就是通过把 `含有 SQL 语句片段的参数` 插入到需要执行的 SQL 语句中,然后statement把SQL语句发送到数据库中, 数据库进行编译, 最终达到欺骗数据库服务器执行恶意操作的 SQL 命令。 (2)如何解决? 因为s
阅读全文
摘要:一、 JDBC 的使用 通过反射机制加载数据库驱动程序 → 使用DriverManager建立数据库连接 Connection → 创建执行SQL的语句Statement → 处理执行结果 ResultSet → 释放资源 拓展: jdbc启动流程: 1、注册驱动 2、获取连接 3、执行sql 4、
阅读全文
摘要:第一范式: 确保每一列的原子性;每一列不能在拆分为两列; 第二范式: 表格中每一列都应和主键相关, 而不能和主键的某一部分相关; 解决: 第二范式主要是用来限制多对多的关系; 我们可以建立多个表, 把一个多对多的表变成两个一对多的表; 再引入一个中间表, 中间表是另外两个表的主键; 第三范式: 属性
阅读全文
摘要:一、 MySQL 中的执行计划 1 MySQL 执行计划 在 MySQL 中可以通过 explain 关键字模拟优化器,执行 SQL 语句,从而知道 MySQL 是 如何处理 SQL 语句的。 2 MySQL 整个查询执行过程 • 客户端向 MySQL 服务器发送一条查询请求 • 服务器首先检查查询
阅读全文
摘要:一、JDBC 简介 1 什么是 JDBC JDBC(Java DataBase Connectivity)java 数据库连接 是 JavaEE 平台下的技术规范 定义了在 Java 语言中连接数据,执行 SQL 语句的标准(标准即是接口;) 可以为多种关系数据库提供统一访问 2 什么是数据库驱动程
阅读全文