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

ORACLE 动态语句

 在一般的PL/SQL程序开发中,可以使用SQL的DML语句和事务控制语句,但是DDL语句及会话语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及会话控制语句,可以通过动态SQL来实现。
       所谓动态SQL是指在PL/SQL块编译时SQL语句是不确定的,例如根据用户输入参数的不同而执行不同的操作。编译程序对动态语句部分不进行处理,只是在程序运行时动态地创建语句,对语句进行语法分析并执行该语句。 ORACLE中的动态SQL可以通过本地动态SQL命令来执行,也可以通过DBMS_SQL程序包来执行。
       通常在开发中用简单的本地动态SQL就能解决问题,在下面我会用别的方法来实现。给出执行本地动态SQL的语法:
 EXECUTE IMMEDIATE dynamic_sql_string [INTO define_variable_list] [USING bind_argument_list];
其中: dynamic_sql_string 是动态SQL语句字符串 INTO子句用于接受SELECT语句选择的纪录值。 USING子句用于接受绑定输入参数变量。
例子1:
DECLARE
       sql_s varchar2(200);
       emp_id number(4):=7566; 
       emp_rec emp%rowtype;
BEGIN
       EXECUTE  IMMEDIATE  'create  table  table_name (id number,amt  number)';  
       sql_s:='select * from emp where empno=:id;
       EXECUTE  IMMEDIATE  sql_s into  emp_rec  using  emp_id;
END;
       这段代码首先执行一条创建的动态SQL,接着执行了带参数的SELECT语句。EXECUTE IMMEDIATE语句只能用于处理返回单行或没有返回的SQL语句,要处理返回多行的动态SQL就要使用REF游标的OPEN...FOR语句。下面就来讨论:
例2:
       要求:用户输入多个批次号(lot_number)和物料号(key_number )或多个批次号(lot_number)和供应商名(ver_apell)来求库存中物料的数目为了让代码结构清晰,我使用包来创建代码:
首先,创建包头部分:
create  or  replace  package  SMT_Traceability_p    is
   &n


相关文档:

One good feature flashback of oracle 10g

1. use database as archive log mode and set archive dest location
alter system set LOG_ARCHIVE_DEST_1 = 'LOCATION=/u04/arch/orcl' scope=spfile;
2. configuration retention days/size/distination
ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=43200; --30 days
ALTER SYSTEM SET db_recovery_file_dest_ ......

Oracle用游标分解号码次数

drop table tb_wjf_xh_dg100_50_tmp4 purge; 
create table tb_wjf_xh_dg100_50_tmp4
 (
 servnumber varchar(11)
 )
;
  
declare
      vv_cusor_servnumber  varchar2(32);
      vv_cusor_lost_cnt  & ......

将数据导入到Oracle中

1. create table people (age int, id int);
2. 创建数据文件PeopleDate.txt.
    数据为:   
              20,1
              30,2
3. 创建 ......

Connecting Oracle with MS


This article shows how Oracle's Heterogeneous Services can be configured to allow a database to connect to a Microsoft Access database using standard databases links. The method described can be used to connect to MS-Access from about any platform - Unix/ Linux or Windows.
MS-Access 2003 and Orac ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号