`

oracle中使用ddl语言

阅读更多
在ORACLE存储过程中创建临时表

  Java代码

  create or replace procedure select_look

  as

  str varchar2(100);

  begin

  str:='select * from emp';

  execute immediate str;

  end;

  在ORACLE存储过程中创建临时表

  2007年11月15日 星期四 14:27

  Java代码

  create procedure pro

  as

  str varchar2(100);

  begin

  str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME (

  COL1 VARCHAR2(10),

  COL2 NUMBER

  ) ON COMMIT PRESERVE ROWS' ;

  execute immediate str;    --使用动态SQL语句来执行

  end;

  /

  存储过程里不能直接使用DDL语句,所以只能使用动态SQL语句来执行

  --ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)

  --ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。

  Java代码

  CREATE OR REPLACE PROCEDURE temptest

  (p_searchDate IN DATE)

  IS

  v_count INT;

  str varchar2(300);

  BEGIN

  v_count := 0;

  str:='drop table SETT_DAILYTEST';

  execute immediate str;

  /*      str:='CREATE GLOBAL TEMPORARY TABLE SETT_DAILYTEST (

  NACCOUNTID NUMBER not null,

  NSUBACCOUNTID NUMBER not null)

  ON COMMIT PRESERVE ROWS';

  execute immediate str;    ----使用动态SQL语句来执行

  str:='insert into SETT_DAILYTEST (select naccountid,nsubaccountid from sett_dailyaccountbalance)';

  execute immediate str;

  END temptest;

  上面建立一个临时表的存储过程

  下面是执行一些操作

  Java代码

  CREATE OR REPLACE PROCEDURE PR_DAILYCHECK

  (

  p_Date IN DATE,

  p_Office IN INTEGER,

  p_Currency IN INTEGER,

  P_Check IN INTEGER,

  p_countNum OUT INTEGER)

  IS

  v_count INT;

  BEGIN

  v_count := 0;

  IF p_Date IS NULL THEN

  dbms_output.put_line('???????????í?ó');

  ELSE

  IF P_Check = 1 THEN

  insert into SETT_DAILYTEST (select naccountid,nsubaccountid from sett_dailyaccountbalance

  where dtdate = p_Date);

  select

  count(sd.naccountid) into v_count

  from sett_subaccount ss,sett_account sa,sett_dailytest sd

  where sd.naccountid = sa.id and sd.nsubaccountid = ss.id and sa.id = ss.naccountid

  AND sa.nofficeid = p_Office AND sa.ncurrencyid = p_Currency

  and rownum < 2;

  COMMIT;

  p_countNum := v_count;

  dbms_output.put_line(p_countNum);

  END IF;

  IF P_Check = 2 THEN

  insert into SETT_DAILYTEST (select naccountid,nsubaccountid from sett_dailyaccountbalance

  where dtdate = p_Date);

  select

  count(sd.naccountid) into v_count

  from sett_cfsubaccount ss,sett_account sa,sett_dailytest sd

  where sd.naccountid = sa.id and sd.nsubaccountid = ss.id and sa.id = ss.naccountid

  AND sa.nofficeid = p_Office AND sa.ncurrencyid = p_Currency

  and rownum < 2;

  COMMIT;

  p_countNum := v_count;

  dbms_output.put_line(p_countNum);

  END IF;

  END IF;

  END PR_DAILYCHECK;

  oracel 日期函数

  Java代码

  to_date(substr(ildgl,2,6),'rrDDD')

  insert into scott.f42111 values('mike',600,to_date('2009-04-17 10:17:00','yyyy-mm-dd hh24:mi:ss'))

分享到:
评论

相关推荐

    oracle goldengate ddl

    GoldenGate不仅支持DML(数据操作语言)的同步,还支持DDL(数据定义语言)的同步,这使得它在跨平台数据迁移、数据分发以及数据整合等方面具有非常广泛的应用场景。 #### 二、GoldenGate DDL同步概述 GoldenGate...

    最全的Oracle中文使用手册

    SQL是Oracle的核心,其主要分为四类:DDL(数据定义语言)用于创建和修改表结构,如`CREATE TABLE`;DML(数据操纵语言)用于插入、更新和删除数据,如`INSERT`、`UPDATE`、`DELETE`,以及`COMMIT`和`ROLLBACK`用于...

    从Access数据库建立DDL语句

    本文将详细介绍如何使用Access来生成DDL语句,以及这一过程中的关键知识点。 首先,DDL语句的创建对于数据库的管理和迁移至关重要。例如,当你需要将一个Access数据库迁移到其他系统,如SQL Server或Oracle时,DDL...

    Oracle DDL,DML,DCL,TCL 基础概念

    ### Oracle DDL、DML、DCL、TCL 基础概念 ...通过以上介绍,我们可以看到 Oracle 数据库中 DDL、DML、DCL 和 TCL 这四种语言的基本概念及其使用方法。掌握这些基础知识对于有效地管理和操作 Oracle 数据库至关重要。

    cx_Oracle使用手册

    cx_Oracle是Python编程语言中用于连接Oracle数据库的一个模块。该模块遵循Python数据库API规范,并且适用于Oracle 11.2和12.1版本,同时兼容Python 2.x和3.x版本。cx_Oracle模块通过使用Oracle客户端库来实现与...

    三、oracle数据定义ddl和dml.pptx

    long类型虽然也能存储大量字符数据,但存在一些限制,如不能作为主键或唯一约束,不能建立索引,且不能在过程中使用。Number数据类型用于存储浮点数、整数,精度可达38位,可以指定精度和小数位数。Date数据类型用于...

    oracle数据操作和控制语言详解

    文章着重介绍了 DML 和 DCL 两种语言在 Oracle 中的使用方法。 DML 语言 DML 语言是 SQL 的一个子集,主要用于修改数据。Oracle 支持的 DML 语句包括 INSERT、UPDATE、DELETE、SELECT FOR UPDATE 等。 * INSERT ...

    4-Oracle数据定义语言(DDL).pptx

    "Oracle 数据定义语言(DDL)" Oracle 数据定义语言(DDL)是用于定义和管理 Oracle 数据库对象的语言。DDL 语句用于创建、修改和删除数据库对象,如表、索引、视图、同义词等。 4.1 创建和管理 Oracle 表 =======...

    Oracle数据定义语言(DDL).pptx

    Oracle数据定义语言(DDL).pptx

    oracle-DDL-DML-DCL-TCL.rar_The Oracle

    在`oracle的DDL-DML-DCL-TCL.docx`文档中,你可能会找到更深入的解释和示例,涵盖了这些SQL语言的使用方法,帮助你更好地理解和操作Oracle数据库。学习并熟练掌握这些概念和命令,对于成为Oracle数据库管理员或开发...

    Oracle PL/SQL语言初级教程

    Oracle PL/SQL 语言是Oracle数据库系统中的一种高级编程语言,它是SQL的扩展,专为数据库管理和应用程序开发设计。PL/SQL集成了SQL的查询、操纵、定义和控制功能,并添加了过程化编程元素,使其成为数据库管理和开发...

    Oracle--SQL语言.docx

    本次实验旨在帮助学习者掌握Oracle数据库中的SQL语言,重点是能够熟练地使用SQL进行数据查询、插入、修改和删除等基本操作。通过实际动手操作,加深对SQL语言的理解,并能够在实际工作中灵活应用。 #### SQL语言...

    三、oracle数据定义ddl和dml

    ORACLE数据类型 表创建/变动/删除 表分区的使用 同义词对象创建/删除 数据操纵语言DML ORACLE中常见函数

    Oracle数据库管理中的表空间、用户操作及DDL、DML语言应用详解

    使用场景及目标:①理解并掌握Oracle中表空间与数据文件间的关系;②熟悉表空间的管理和优化技巧;③学会高效地创建、配置和删除数据库账户;④掌握DDL语句的基本语法,灵活应对数据库表结构调整的需求;⑤熟练运用...

Global site tag (gtag.js) - Google Analytics