9.@与@@的区别是什么?
@等于start命令,用来运行一个sql脚本文件。
@命令调用当前目录下的,或指定全路径,或可以通过SQLPATH环境变量搜寻到的脚本文件。
@@用在脚本文件中,用来指定用@@执行的文件与@@所在的文件在同一目录,而不用指定全路径,也不从SQLPATH环境变量指定的路径中寻找文件,该命令一般用在嵌套脚本文件中。
10.&与&&的区别
&用来创建一个临时变量,每当遇到这个临时变量时,都会提示你输入一个值。
&&用来创建一个持久变量,就像用用define命令或带new_vlaue字句的column命令创建的持久变量一样。当用&&命令引用这个变量时,不会每次遇到该变量就提示用户键入值,而只是在第一次遇到时提示一次。
如,将下面三行语句存为一个脚本文件,运行该脚本文件,会提示三次,让输入deptnoval的值:
select count(*) from emp where deptno = &deptnoval;
select count(*) from emp where deptno = &deptnoval;
select count(*) from emp where deptno = &deptnoval;
将下面三行语句存为一个脚本文件,:RY7供0管k网[运行该脚本文件,则只会提示一次,让输入deptnoval的值:
select count(*) from emp where deptno = &deptnoval;
select count(*) from emp where deptno = &deptnoval;
select count(*) from emp where deptno = &deptnoval;
11.引入copy的目的
Copy命令在两个数据库之间拷贝数据时特别有用,特别是该命令可以在两个数据库之间传递long型字段的数据。
缺点:
在两个数据库之间传递数据时,有可能丢失精度(lose precision)。
12.问什么在修改大量的行时,我的脚本会变得很慢?
当通过PL/SQL块修改一个表中的许多行时,你会创建在表上创建一个cursor,但是只有在你关闭cursor时,才会释放ROLLBACK SEGMENT,这样,当cursor仍然打开时,修改过程会变慢,这是因为数据库不得不搜寻大量的rollback segment以便于维护读一致性。为了避免这样情况,试着在表上加一个标志字段来描述该行是否已经被修改,然后关闭该cursor,然后再打开该cursor。每次可以修改5000行。
保留:: http://www.qqread.com/oracle/2006/11/f278530.html相关专题
- Office技巧专区 (7045篇文章)
- 网管实用技巧100例 (6775篇文章)
- ADO.NET实用技巧 (6301篇文章)
- Oracle初学者必知的100个问题 (33377次浏览)
- Oracle PL/SQL语言基础 (14253次浏览)
- Oracle架构的基础知识(入门级) (13523次浏览)
- Win 2003 Server重新安装Oracle9i (614次浏览)
- Oracle优化的五个方面 (613次浏览)
- 多个Oracle数据库创建一个Excel报表 (554次浏览)
- 怎么样快速复制表或者是插入数据 (527次浏览)
- 解决Oracle中Exp/Imp大量数据处理问题 (526次浏览)
- 重启系统的时候自动启动oracle服务 (396次浏览)
- 记几个容易忘的oracle 函数 (366次浏览)



