oracle如何清空一个用户下的所有表中的数据?

-- 大概 这个样子,如果没有 FK 的话,一下子就都删掉了。

begin

for in (select table_name from user_tables) loop

execute immediate ‘delete ‘ || x.table_name ; 

end loop ; 

end ;

时间: 2024-10-13 17:53:20

oracle如何清空一个用户下的所有表中的数据?的相关文章

查询一个用户下的所有表,查询表结构。设置表列宽。

SELECT * FROM TAB; DESC 表名 设置表列宽: COL 属性名 FOR A长度;

ORACLE授权用户查询另一个用户下的表与视图

实际应用中,会遇到在某个用户下需要查询另一个用户下的表数据或视图的情况,然而在没有授权时,会提示无权限操作的错误.那就需要通过授权处理后,再能进行查询操作,下面我们来看看是怎么处理的. 一.系统权限说明: 1.用户权限 CREATE SESSIOIN 连接到数据库 CREATE TABLE    在用户的方案中创建表 CREATE SEQUENCE 在用户的方案中创建序列 CREATE VIEW     在用户的方案中创视图 CREATE PROCEDURE在用户的方案中创建存储过程,函数或包

如何杀掉一个用户下的所有进程并drop掉这个用户

Copy the sample code below into a file named kill_drop_user.sql.Open SQL*Plus and connect as user SYS to your databaseSQL> CONNECT sys/[email protected] AS SYSDBACreate a user called TEST with password TESTSQL> GRANT connect, resource TO test IDENTI

oracle查询当前用户下所有的表,包括所有的字段

oracle查询当前用户下所有的表,包括所有的字段 背景: ? 前两天接到一个需求,做一个展示所有表名,表备注,表数据,表字段数,点击查看按钮查看字段名和注释,支持导出. 在Oracle中,可用使用视图USER_TABLES查看当前用户有哪些表,都有多少数据: table_name:表名,field_num:表字段数,comments:表注释,count_rows(table_name):统计表数据 SELECT * FROM USER_TABLES; USER_TAB_COLUMNS:表中的所

Oracle数据库访问其他用户下的表,不加表所属的用户名的实现方法

一. 问题: 如何实现在Oracle数据库中访问其他用户的表时不需加表所属的用户名 二. 举例: Oracle里面的用户A,要访问用户B的表需要带用户B的前缀,如访问用户B的 TEST表,需要这样访问 select * from B.TEST;现在就是问如何才能无需添加用户名的前缀. 三. 原因: 方便访问常用表 隐藏表的用户 四. 解决方案: 1. 创建同义词(最好的方式) 语法: CREATE [PUBLIC] SYNONYM synonym_name FOR [schema.] objec

Oracle删除当前用户下的所有表或数据

create or replace procedure pro_droptable is cursor cur is select table_name from user_tables; drop_sql varchar2(1000); begin for tbname in cur loop begin drop_sql:='drop table '||tbname.table_name;--将drop修改为truncate即可删除所有表的数据 execute immediate drop_

一个用户下表、批量授予权限给另一个用户

工作中经常会用到一个用户对另外一个用户下表的操作,遇到批量的授权或回收权限可以用如下语句执行就可以了,一般是授予 select\update\delete\insert 也可以用 grant all 表示所有 对存储过程的授权为 grant execute on 过程 to 用户 如果加 with grant option 当前被授权的用户则可以再授予给其他用户 以下是示例,实际工作中根据情况进行修改即可 --批量授予与收回 --授予 查询 插入 权限 declare cursor cur_a

oracle 如何搜索当前用户下所有表里含某个值的字段?(转)

oracle 如何搜索当前用户下所有表里含某个值的字段? create or replace procedure MY_Pro_SearchKeyWord is  v_sql VARCHAR2(4000);  v_tb_column VARCHAR2(4000);  v_cnt NUMBER(18,0);  cursor cur is SELECT 'SELECT '''||'"'||t1.table_name||'"."'||t1.Column_Name||'"'

定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据?

原文:http://www.iteye.com/problems/77856 定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据? 表结构肯定是不能破坏,但是临时表如果是自己的数据库还行,问题是这个Oracle数据库是客户的数据库呢,你不能在他的数据库做任何多余的操作吧?还有别的更好的方法吗? 这个真的是比较困难. 首先,你要从客户机oracle取数据,因为这1分钟间隔之内不知道用户机新增加了哪些数据(大部分情况下是用户使用别的系统插入数据,而你又没有这个系统的程序接口