oracle如何执行 Oracle如何执行函数

Oracle中如何执行已经写好的sql语句

1.在sql*plus下按回车不行是因为你在sql语句结束时没有以;(分号)结尾,以分号结尾再按回车就可以了

专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业呼和浩特免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

2.如果常用的话,建议使用pl/sql

developer,功能强,易使用

oracle怎么用命令执行sql文件

Oracle执行外部文件:

c:sqlplus

user/pwd@db

sql@new.sql

执行多个sql文件:

1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:

c:dir/b

d:/1.sql

会把所有的sql文件名都输出到一个sql文件中。

2.用UltraEdit打开生成的sql文件,alt+C切换到column

mode,给所有的行前都添加一个"@",保存。

3.在sqlplus中执行"@d:/1.sql"

如何避免''字符:

sql中可以传递参数,但有时需要插入'',例:

SQL

select

'hello'

v

from

dual;

输入

hello

的值:

hello

原值

1:

select

'hello'

v

from

dual

新值

1:

select

'hello'

v

from

dual

v

-----

hello

可以使用如下方法避免:

A:

SQL

select

chr(38)

||

'hello'

v

from

dual;

V

------

hello

B:

SQL

set

define

off

SQL

select

'hello'

v

from

dual;

V

------

hello

oracle 数据库 怎么执行存储过程

一。 概述Oracle存储过程开发的要点是:

1; 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程;

2; 在Oracle数据库中创建一个存储过程;

3; 在Oracle数据库中使用SQL*Plus工具运行存储过程;

4; 在Oracle数据库中修改存储过程;

5; 通过编译错误调试存储过程;

6; 删除存储过程;二。环境配置

包括以下内容:

1; 一个文本编辑器Notepad;

2; Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 语句到Oracle database。

3; Oracle 10g express数据库,它是免费使用的版本;

需要的技巧:

4; SQL基础知识,包括插入、修改、删除等

5; 使用Oracle's SQL*Plus工具的基本技巧;

6; 使用Oracle's PL/SQL 编程语言的基本技巧;三。写一个存储过程

在Notepad, 写下:

CREATE OR REPLACE PROCEDURE skeletonISBEGINNULL;END;把文件存为skeleton.sql.

让我们一行行遍历这个存储过程:

1 CREATE OR REPLACE PROCEDURE skeleton2 IS3 BEGIN

4 NULL;5 END;行1:CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;行2:IS关键词表明后面将跟随一个PL/SQL体。

行3:BEGIN关键词表明PL/SQL 体的开始。

四。创建一个存储过程

SQL语句CREATE OR REPLACE PROCEDURE在Oracle数据库中创建、编译和保存一个存储过程。

从Window打开SQL*Plus并且从SQL*Plus 登录到你的数据库;打开skeleton.sql文件。

在SQL命令提示符下输入以下命令:

SQL@skeletonSQL/SQL*Plus装载skeleton.sql文件的内容到 SQL*Plus缓冲区并且执行SQL*Plus语句;SQL*Plus 会通知你存储过程已经被成功地创建。

oracle中怎样执行.sql文件

方法如下:

1:运行cmd进入命令行界面

2:进入到存放批量sql的文件夹下面

3:输入命令

sqlplus

数据库名/密码@数据库

按回车键

4:输入spool

指定路径:\a.log

按回车键

(此步骤的主要作用就是追踪批量执行sql的日志,路径随便写,只要能找到就行,a.log可以随便起名,但是必须要.log后缀)

5:@start.sql

按回车键(在批量sql文件夹下写一个文件,名字叫start.sql,其中在这个文件里面写批量sql的文件名)

具体格式如下:@@sql的文件名.sql;

@@sql的文件名2.sql;

6:spool

off

(此时a.log中所有日志已经写入完毕)

7:exit

退出sqlplus

当然只有一个sql文件,但是里面有多个insert语句,数据量非常大,此时也可以在命令状态下执行,前4步是一样的,第五步就是@文件名.sql;

Oracle执行计划

每步都是一次单独的I/O,但是对于索引,由于经常使用,绝大多数都已经CACHE到内存中,所以第一步的I/O经常是逻辑I/O,即数据可以从内存中得到。但对于第二部来说,如果表比较大,则其数据不可能全在内存中,所以其I/O很有可能是物理I/O,这是一个机械操作,相对逻辑I/O来说,极其费时间。所以如果对大表进行索引扫描,取出的数据如果大于总量的5%-10%,使用索引扫描效率会下降很多。但是如果查询的数据能全在索引中找到,就可以避免进行第二步操作,避免了不必要的I/O,此时即使通过索引扫描取出的数据比较多,效率还是很高的。再者,如果sql语句中需要对索引列进行排序,因为索引已经预先排序好了,所以在执行计划索引进行排序。

根据索引的类型和where限制条件的不同,一般有如下4中类型的索引扫描:

Join是一种试图将两个表结合在一起的谓词,一次只能连接两个表。Join可以并行的读取两个连接的表的数据,但将表中符合限制条件的数据段读入内存形成row source后,join的其它步骤一般都是串行的。

目前为止,典型的join连接类型有3中:

如果row source已经在关联列上被排序,则该连结操作就不需要再进行sort操作,这样可以大大提高这种连接操作的连接速度,因为排序是个极其耗费资源的操作。预先排序的row source包括已经被索引的列或row source已经在前面的步骤中被排序了。另外,尽管合并两个row source的过程是串行的,但是可以并行访问这两个row source(如并行读入数据,排序)。

排序是一个费时,费资源的操作,基于这个原因,SMJ通常不是一种有效率的连接方式,但当row source已经排好序的前提下,SMJ的效率还是很可观的。

各连接方法试用的场景:

参考文献


网站标题:oracle如何执行 Oracle如何执行函数
浏览地址:http://scyanting.com/article/hpohcc.html