易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle中的绑定变量

绑定变量就是能够替代SQL语句中常量的替代变量
作用:
    绑定变量只是起到占位的作用,同名的绑定变量并不意味着在它们是同样的,在传递时要考虑的是传递的值与绑定变量出现顺序的对位,而不是绑定变 量的名称。
绑定变量是在通常情况下能提升效率,非正常的情况如下:
在字段(包括字段集)建有索引,且字段(集)的集的势非常大(也就是有个值在字段中出现的比例特别的大)的情况下,使用绑定变量可能会导致查询计划错误,因而会使查询效率非常低。这种情况最好不要使用绑定变量。
oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.
在共享池中存在的是软解析,即:类似于PL/sql
软解析和绑定变量:select * from dept where id= :d_id;
    oracle会首先检查一下共享缓冲池(shared pool)里有没有与之完全相同的语句,如果有的话只须执行软分析即可,否则就得进行硬分析。
    而唯一使得oracle 能够重复利用执行计划的方法就是采用绑定变量。绑定变量的实质就是用于替代sql语句中的常量的替代变量。绑定变量能够使得每次提交的sql语句都完全一样。
但是并不是任何情况下都需要使用绑定变量,下面是两种例外情况:
1.对于隔相当一段时间才执行一次的SQL语句,这是利用绑定变量的好处会被不能有效利用优化器而抵消
2.数据仓库的情况下。
绑定变量不能当作嵌入的字符串来使用,只能当作语句中的变量来用。不能用绑定变量来代替表名、过程名、字段名等.
普通sql语句:
SELECT fname, lname, pcode from cust WHERE id = 674;
SELECT fname, lname, pcode from cust WHERE id = 234;
SELECT fname, lname, pcode from cust WHERE id = 332;
含绑定变量的sql 语句:
SELECT fname, lname, pcode from cust WHERE id = :cust_no;
Sql*plus 中使用绑定变量:
SQL> set timing on
SQL> variable x number;
SQL> exec :x :=8
PL/SQL 过程已成功完成。
已用时间:  00: 00: 00.03
SQL> select * from A;
        ID
----------
         3
         5
已用时间:  00: 00: 00.06
SQL> insert into A values(:x);
已创建 1 行。
已用时间:  00: 00: 00.01
SQL> select * f


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Mysql,SqlServer,Oracle主键自动增长的设置


Mysql,SqlServer,Oracle主键自动增长的设置
1、把主键定义为自动增长标识符类型
在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:
create table customers(id int auto_increment primary key not null, name varchar(15));
insert into customers(name) values("name1"),("nam ......

oracle 定时 作业 例子

sql > variable jobno  number ;
sql > begin
sql > DBMS_JOB.submit(:jobno, ' pro_name(); ' ,sysdate, ' sysdate+1 ' ); 
 dbms_job.submit(:job1, ' MYPROC; ' ,sysdate, ' sysdate+1/1440 ' );   -- 每天1440分钟,即一分钟运行test过程一次
sql > commit ;
sql > end ; ......

oracle id 自增

oracle让id自动增长(insert时不用手动插入id)的办法,像Mysql中的auto_increment那样
创建序列  
  create   sequence   emp_seq  
  increment   by   1  
  start   with   1  
  nomaxvalue  
  nocycle  
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号