oracle 清空某个分区,[转]利用Truncate清空Oracle各个分区的资料.

本文介绍了一种安全、高效地在Oracle数据库中清空特定分区的方法,通过创建自定义存储过程来实现。这种方法避免了在生产环境中授予高权限角色,而是要求拥有者授权执行权限和删除权限给特定用户,确保操作的可控性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*

In applications, users need truncate privileges on third party tables. The owner of the table can truncate his/her own tables. A user with DBA role granted can truncate a third party table. Any user with "drop any table" system privilege can truncate a third party table.

It is not recommended in Production environments to grant powerful roles like DBA role or privileges like "drop any table" privilege to accomplish this purpose.

This procedure need to be created in each schema. The schema owner need to grant execute permission to the user, and the delete permission on specified tables.

Then the user can execute the procedure to truncate tables User A owns the table temp_jp.

conn uwclass/uwclass

CREATE TABLE t1 AS

SELECT * FROM all_tables;

CREATE OR REPLACE PROCEDURE trunc_tab(p_tabname IN VARCHAR2) AUTHID DEFINER AS

/**********************************

AUTHOR JP Vijaykuma

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值