在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'))
分享到:
相关推荐
GoldenGate不仅支持DML(数据操作语言)的同步,还支持DDL(数据定义语言)的同步,这使得它在跨平台数据迁移、数据分发以及数据整合等方面具有非常广泛的应用场景。 #### 二、GoldenGate DDL同步概述 GoldenGate...
SQL是Oracle的核心,其主要分为四类:DDL(数据定义语言)用于创建和修改表结构,如`CREATE TABLE`;DML(数据操纵语言)用于插入、更新和删除数据,如`INSERT`、`UPDATE`、`DELETE`,以及`COMMIT`和`ROLLBACK`用于...
本文将详细介绍如何使用Access来生成DDL语句,以及这一过程中的关键知识点。 首先,DDL语句的创建对于数据库的管理和迁移至关重要。例如,当你需要将一个Access数据库迁移到其他系统,如SQL Server或Oracle时,DDL...
### Oracle DDL、DML、DCL、TCL 基础概念 ...通过以上介绍,我们可以看到 Oracle 数据库中 DDL、DML、DCL 和 TCL 这四种语言的基本概念及其使用方法。掌握这些基础知识对于有效地管理和操作 Oracle 数据库至关重要。
cx_Oracle是Python编程语言中用于连接Oracle数据库的一个模块。该模块遵循Python数据库API规范,并且适用于Oracle 11.2和12.1版本,同时兼容Python 2.x和3.x版本。cx_Oracle模块通过使用Oracle客户端库来实现与...
long类型虽然也能存储大量字符数据,但存在一些限制,如不能作为主键或唯一约束,不能建立索引,且不能在过程中使用。Number数据类型用于存储浮点数、整数,精度可达38位,可以指定精度和小数位数。Date数据类型用于...
文章着重介绍了 DML 和 DCL 两种语言在 Oracle 中的使用方法。 DML 语言 DML 语言是 SQL 的一个子集,主要用于修改数据。Oracle 支持的 DML 语句包括 INSERT、UPDATE、DELETE、SELECT FOR UPDATE 等。 * INSERT ...
"Oracle 数据定义语言(DDL)" Oracle 数据定义语言(DDL)是用于定义和管理 Oracle 数据库对象的语言。DDL 语句用于创建、修改和删除数据库对象,如表、索引、视图、同义词等。 4.1 创建和管理 Oracle 表 =======...
Oracle数据定义语言(DDL).pptx
在`oracle的DDL-DML-DCL-TCL.docx`文档中,你可能会找到更深入的解释和示例,涵盖了这些SQL语言的使用方法,帮助你更好地理解和操作Oracle数据库。学习并熟练掌握这些概念和命令,对于成为Oracle数据库管理员或开发...
Oracle PL/SQL 语言是Oracle数据库系统中的一种高级编程语言,它是SQL的扩展,专为数据库管理和应用程序开发设计。PL/SQL集成了SQL的查询、操纵、定义和控制功能,并添加了过程化编程元素,使其成为数据库管理和开发...
本次实验旨在帮助学习者掌握Oracle数据库中的SQL语言,重点是能够熟练地使用SQL进行数据查询、插入、修改和删除等基本操作。通过实际动手操作,加深对SQL语言的理解,并能够在实际工作中灵活应用。 #### SQL语言...
ORACLE数据类型 表创建/变动/删除 表分区的使用 同义词对象创建/删除 数据操纵语言DML ORACLE中常见函数
使用场景及目标:①理解并掌握Oracle中表空间与数据文件间的关系;②熟悉表空间的管理和优化技巧;③学会高效地创建、配置和删除数据库账户;④掌握DDL语句的基本语法,灵活应对数据库表结构调整的需求;⑤熟练运用...