`
xuming9
  • 浏览: 26432 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

ORACLE 存储过程不能用truncate table xxx解决方法

阅读更多
ORACLE 存储过程不能用truncate table xxx

CREATE OR REPLACE PROCEDURE XM_MRP_YFKUWEI1 AS
/*
工作日每天0点30,要HOLD住研发仓(将F41021的批次状态码=E,条件F0005的研发库位);
*/
BEGIN
execute immediate 'TRUNCATE TABLE BAK_F41021_MRP';


INSERT INTO BAK_F41021_MRP select * from f41021 where lilocn like 'YF%' ;
COMMIT;
UPDATE F41021 SET LILOTS='E' WHERE LILOCN LIKE 'YF%';

COMMIT;

END;
/
0
0
分享到:
评论

相关推荐

    oracle中truncate table后的数据恢复

    在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...

    Oracle给用户授权truncatetable的实现方案

    在Oracle数据库管理中,有时需要为特定用户授权执行`TRUNCATE TABLE`操作,以便他们在自己的职责范围内能够清理数据而不影响其他用户。然而,Oracle不支持直接为用户授予针对单个表的`TRUNCATE`权限,而是通常将更...

    Oracle_审计表_sys.aud$_授权给用户Truncate权限.docx

    - **创建存储过程**:首先以`SYS`用户身份登录到Oracle数据库,然后创建一个存储过程来实现截断`SYS.AUD$`的功能。 ```sql CREATE OR REPLACE PROCEDURE proc_truncate_aud IS BEGIN EXECUTE IMMEDIATE '...

    ORACLE truncate 数据恢复

    在Oracle数据库中,`TRUNCATE TABLE`命令用于删除表中的所有数据,但它与`DELETE`语句有所不同。`TRUNCATE`操作是DDL(Data Definition Language)的一部分,而`DELETE`是DML(Data Manipulation Language)。由于`...

    Oracle_授权审计表Truncate权限.docx

    如果不需要存储过程,可以使用以下语句删除存储过程: ```sql DROP PROCEDURE proc_truncate_aud; ``` 在 Oracle 数据库中,system 表空间是指系统自动生成的表空间,这些表空间用于存储数据库中的各种系统信息。...

    oracle存储过程写法

    根据提供的Oracle存储过程示例,我们可以详细解析其中的关键知识点,包括存储过程的创建、游标的使用、临时表的创建及数据处理等。 ### 存储过程的创建与使用 存储过程是在数据库中编写的SQL代码块,它可以接受...

    oracle存储过程及触发器总结

    ### Oracle存储过程及触发器总结 #### 一、Oracle 存储过程概述 在Oracle数据库中,存储过程是一种预先编译好的SQL代码块,它可以接受输入参数、返回单个值或多个值,并能够调用其他存储过程。存储过程在数据库...

    在ORACLE里用存储过程定期分割表

    首先,简单回顾一下为什么不能直接使用`DELETE`语句来分割表。在Oracle中,大量删除数据后,表所占用的物理空间通常不会立即释放,这是因为Oracle采用了高水位标记的机制。这意味着即使数据被删除,空间仍可能被标记...

    利用 Oracle 系统触发器防止误删除表操作

    #### 解决方案:使用Oracle系统触发器 为了应对这类问题,可以通过创建Oracle系统触发器来实现对`DROP TABLE`和`TRUNCATE TABLE`命令的监控与阻止。以下详细介绍两种不同的Oracle版本(10g和8i)下如何创建相应的...

    Oracle存储过程编写经验和优化措施

    6. 存储过程结束时,务必显式删除所有临时表,先`TRUNCATE TABLE`再`DROP TABLE`,避免长时间锁定系统表。 7. 尽量避免大临时表与大表的连接查询和修改,以减轻tempdb的负担。 通过遵循上述经验和优化措施,可以...

    Truncate Table的用法讲解

    这篇文章将深入讲解 `TRUNCATE TABLE` 的使用方法,以及它与 `DELETE` 的对比,同时涵盖权限、适用场景及注意事项。 **TRUNCATE TABLE 的语法和参数** `TRUNCATE TABLE` 命令的基本语法是: ```sql TRUNCATE TABLE ...

    MySQL创建存储过程批量插入10万条数据

    TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int default 1; start TRANSACTION; while i <= args DO insert into A_student(id,...

    在Oracle数据库里用存储过程定期分割表

    总结来说,通过在Oracle数据库中使用存储过程定期分割表,可以有效地管理不断增长的时间相关数据,优化数据库性能,便于数据管理和归档。通过创建并调用适当的存储过程,这一过程可以自动化,确保了数据库系统的稳定...

    oracle truncate恢复

    ### Oracle Truncate 操作及其恢复方法 在Oracle数据库管理中,`TRUNCATE`命令是一种高效的数据清除方式,常用于快速清空表中的所有数据。然而,与`DELETE`语句不同的是,`TRUNCATE`操作是非事务性的且无法通过普通...

    oracle数据库删除数据Delete语句和Truncate语句的对比.docx

    但是,Truncate 语句不能根据条件删除数据,且不能回退删除操作。 在删除大量数据时,Truncate 语句的速度显著快于 Delete 语句。例如,在删除 4194304 条数据时,Delete 语句花费时间为 90.964 seconds,而 ...

    Oracle常用的和表(Table)相关的命令

    根据提供的文件信息,以下是从标题、描述以及部分代码示例中提炼出的关于Oracle数据库中与表(Table)操作相关的常用命令及其详细解释: ### 1. 创建表(Create Table) **命令格式**: ``` sql> create table table_...

    Oracle中Truncate表的恢复方法.pdf

    Oracle 中 Truncate 表的恢复方法 Oracle 数据库中,Truncate 表是一种高效的删除表操作,但是它不会产生日志记录和回滚段空间的使用,无法使用闪回恢复。因此,需要使用 LogMiner 快速定位 Truncate 表的 SCN,并...

Global site tag (gtag.js) - Google Analytics