最近因为项目需要,打算写一个批处理程序,更新数据库中的表数据。写了3个sql文件:a.sql,b.sql,c.sql,在这三个文件中,实现了创建表,并向表中插入数据的操作。目前我通过SQLPLUS可以执行一个SQL文件,例如:sqlplustest/test@test@a.sql如何在一个批处理文件...
转载 2015-08-12 15:15:00
176阅读
2评论
内连接外连接自连接交叉连接1.内连接表名 INNER JOIN 表名 ON 条件 等价于: FROM 表名, 表名 WHERE 条件SELECT p.name, pt.name, pt.product_type_id FROM products p INNER JOIN product_types pt ON p.product_type_id = pt.produc
转载 2021-06-01 11:54:16
393阅读
执行SQL的步骤: 输入SQL->解析SQL->(解析后的SQL)->优化器->(执行计划)->行源生成器->(查询计划/迭代计划)->SQL引擎->(结果集) 一、SQL解析: 开始解析时,数据库会创建一个游标,存在于特定会话私有SQL去中。之后以分析的SQL语句和其他处理信息都存储在其中,SQL ...
转载 2021-09-05 09:48:00
503阅读
2评论
SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL多个执行计划一般意味着代码有问题或某些其它原因,例如,SQL语句使用绑定变量,但是绑定变量的类型或长度可能不一致会
转载 2019-01-15 12:01:00
368阅读
2评论
SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL多个执行计划一般意味着代码有问题或某些其它原因,例如,SQL语句使用绑定变量,但是绑定变量的类型或长度可能不一致会导致同一SQL出现不同执行计划。 --查看数据库里面有多个执行计划的SQL语句的SQL_ID SE...
原创 2021-08-20 15:32:31
578阅读
SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL多个执行计划一般意味着代码有
转载 2016-03-17 16:48:00
249阅读
2评论
DECLARE v_cursor NUMBER; v_stat NUMBER; v_row NUMBER; v_id NUMBER; v_no VARCHAR(100); v_date DATE; v_sql VARCHAR(200); s_id NUMBER; s_date DATE; BEGIN s_id := 3000; s_
原创 2023-05-15 11:01:17
700阅读
1、Oracle Concepts Guide一书中详细地讲解了SQL语言和数据库的每个部分。建议使用Oracle的人都去读一读《Oracle Concepts Guide》。2、共享池和数据库高速缓存2.1 SGA共享池:共享SQL/PL/SQL代码在用户之间共享池存放的内容:SQL语句和Oracle使用的系统参数(在一块被称为数据字典高速缓存的区域)Oracle将你能想到的几乎所有东西都存在共
翻译 精选 2014-11-18 21:54:25
595阅读
->win+R;->CMD;->SQLPLUS /NOLOG;->CONNECT USER/PASSWORD@ORCL;->@D:/XXX.SQL;
转载 2015-06-18 15:07:00
424阅读
2评论
 oracle执行sql文件 在PL/SQL中直接用command window执行就可以了:PL/SQL developer----->File------>New---->command window然后在弹出的窗口里依次执行:SQL> @f:\abc\a.sql;回车就执行文件里的sql了。
转载 2016-03-07 15:54:00
982阅读
2评论
Oracle执行SQL查询语句的步骤 1、SQL正文放入共享池(shared pool)的库缓存(library cache)。 2、检查是否有相同的SQL正文,没有就进行以下编译处理,否则跳过。 1)语法检查 2)通过数据字典检查表和列的定义 3)对所操作的对象加编译锁,防止编译期间的对象定义被改
原创 2022-07-13 14:57:54
285阅读
并行执行执行sqlalter session enable parallel dml;update /*+ parallel(t,100)*/
原创 2022-12-15 14:53:15
164阅读
oracle
原创 2018-02-01 15:15:16
3843阅读
1.创建一个序列,是为了主键自增。create s
文章目录一、if语句二、while语句三、循环控制语句四、优化程序 一、if语句语法格式: if 条件判别式1: 代码块1 elif 条件判别式2: 代码块2 ... else: 代码块n执行流程: if-else语句执行时先对条件判别式1进行判断,当条件判别式1为True时执行代码块1,为False时判断条件判别式2,依次类推。当所有的条件判别式都为False时执行else后面的语句。
  很多时候,我们对于数据库的使用,仅仅停留在输入一条mysql语句,返回一个结果集,却不知道这条语句在MYSQL内部是怎么实现的,所以本篇将介绍MYSQL最基本的架构组成,通过对MYSQL的拆解,使得我们对MYSQL能有一个更好的认识。  下图是MYSQL的基本架构示意图:   大体来说,MYSQL可以分为 Server层 和 存储引擎层 两部分。  Server层包括连接器,查询缓存,分析器,
    执行SQL语句:import pymysql # 创建连接 conn = pymysql.connect( host="localhost", port=3306, user="root", passwd="", db="test", charset="utf8" ) # 创建游标 cursor = conn.cursor() # 执行s
转载 2024-05-17 13:01:58
209阅读
前言QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名。这篇博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题。问题呈现直接给出SQL代码和执行error直观来看。[sql] view plaincopyprint? select ename name from emp where name = 'SIMTH';哦,晃眼而过,可能并不会
原创 2013-06-21 07:47:00
1556阅读
1点赞
前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名。这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题。 问题呈现 直接给出SQL代码和执行error直观来看。 select ename name from emp where name = 'SIMTH'; 哦,晃眼而过,可能并不会发现问题,不过一执行,便会报 如下错误: 也就是where子句中name识别无效。造成这种原因是因为:where子句是先于select进行处理的 深入点来说,造成此类困惑的原因在于对Oracle SQL语句的执行情况不了解。..
转载 2013-06-21 14:55:00
384阅读
2评论
OracleSQL语句执行过程中,Oracle内部解析原理如下: 1、当一用户第一次提交一个SQL表达式时,Oracle会将这SQL进行Hard parse,这过程有点像程序编译,检查语法、表名、字段名等相关信息(如下图),这过程会花比较长的时间,因为它要分析语句的语法与语义。然后获得最优化后的执行计划(sql plan),并在内存中分配一定的空间保存该语句与对...
原创 2021-07-21 11:46:41
701阅读
  • 1
  • 2
  • 3
  • 4
  • 5