Oracle删除表、字段之前判断表、字段是否存在
在Oracle中若删除一个不存在的表,如 “DROP TABLE tableName”,则会提示:
ORA-00942:表或视图不存在
若在程序中执行该语句则会报异常,这就需要我们在删除表前先判断该表是否存在,若存在则删除.
1
2
3
4
5
6
7
8
9
10
11
|
DECLARE num NUMBER; BEGIN SELECT COUNT (1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER ( 'tableName' ); IF num > 0 THEN EXECUTE IMMEDIATE 'DROP TABLE tableName' ; END IF; END ; |
在Oracle中若删除表中一个不存在的字段,如 “alter table test drop column xxx”,则会提示:
ORA-00904:”xxx”:标识符无效
若在程序中执行该语句则会报异常,这就需要我们在删除字段前先判断该字段是否存在,若存在则删除.
1
2
3
4
5
6
7
8
9
10
11
12
|
DECLARE num NUMBER; BEGIN SELECT COUNT (1) INTO num from cols where table_name = upper ( 'tableName' ) and column_name = upper ( 'columnName' ); IF num > 0 THEN execute immediate 'alter table tableName drop column columnName' ; END IF; END ;
|
Oracle删除表、字段之前判断表、字段是否存在的更多相关文章
- sqlite查看所有表名、判断表是否存在,字段名及字段信息
sqlite查看所有表名.判断表是否存在,字段名及字段信息 sqlite查看所有表名及字段名查询table,type 段是'table',name段是table的名字, select name f ...
- SQL——Sql_Server中如何判断表中某字段、判断表、判断存储过程以及判断函数是否存在
一.比如说要判断表A中的字段C是否存在两个方法: (1) 直接查表——有点笨,有点常规 IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCO ...
- oracle删除当前用户下所有表
1.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户.--创建管理员用户create u ...
- oracle 删除用户命令和部分表空间操作
删除用户 drop user user_name cascade; 建立表空间 CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01. ...
- oracle删除表前先判断表是否存在
DECLARE numbe NUMBER;BEGIN SELECT COUNT(1) INTO numbe FROM USER_TABLES WHERE TABLE_NAME = ...
- oracle删除用户下所有的表
需要创建这些删除语句,通过oracle的数据字典找到该用户下的所有表.视图等对象,拼接成语句.如下select 'drop table '||table_name|| ' cascade constr ...
- oracle删除数据库中的所有表
连接:http://linben.blog.51cto.com/6205951/1293619 1.先禁用数据库中所有的约束 select 'alter table ' || table_name | ...
- jQuery:提交表单前判断表单是否被修改过
表单加载完成后执行 : //表单中包含input(text,checkbox,hidden),select,radio, $("#editWithdrawAutoApprovedConf ...
- model字段对象和forms字段对象的区别和联系
一.model字段对象 (一)_meta _meta是django.db.models.options.Options的实例,获取字段对象可通过模型类来进行获取,而_meta可提供如下功能: 获取模型 ...
随机推荐
- AngularJS中在前后端分离模式下实现权限控制 - 基于RBAC
一:RBAC 百科解释: 基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中,权限与角色相关联,用 ...
- javascript深度克隆与javascript的继承实现
1.javascript深度克隆: //注意这里的对象包括object和array function cloneObject(obj){ var o = obj.constructor === Arr ...
- 基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...
- linux commond
1 vi /etc/sysconfig/network-scripts/ifcfg-eth0 2 ifconfig 3 ping 172.22.14.59 4 ping 1 ...
- css 去除input 获取焦点的蓝色边框
input{ outline:0px; }
- Activiti从当前任务任意回退至已审批任务
http://www.verydemo.com/demo_c161_i143918.html import java.util.HashMap; import java.util.Iterator; ...
- Android——四种AterDialog
本经验将分别介绍Android里面的四种AlertDialog分别是:显示带中立,取消,确定的提示框. 获取带列表的对话框按钮.获取带单选列表的对话框按.获取显示带多选项的对话框.此经验介绍获取显示带 ...
- 配置android source 在ubuntu中编译环境
在Ubuntu中可以配置 android source 编译环境,推荐使用最新的64位的Ubuntu LTS(Long Time Support); 1.安装JDK. AOSP主分支代码需要java ...
- c++和c#之间的类型转换
//C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:Sy ...
- Harry Potter
Names appearing in "Harry Potter" 1.Harry Potter ①Harry is from Henry. ②Harry is related t ...