Oracle删除表、字段之前判断表、字段是否存在_oracle

在Oracle中若删除一个不存在的表,如 “DROP TABLE tableName”,则会提示:

ORA-00942:表或视图不存在

若在程序中执行该语句则会报异常,这就需要我们在删除表前先判断该表是否存在,若存在则删除.

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”:标识符无效

若在程序中执行该语句则会报异常,这就需要我们在删除字段前先判断该字段是否存在,若存在则删除.

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删除表字段
oracle判断表为空
oracle 判断字段长度、oracle判断字段是否空、oracle判断字段为空、oracle判断字段非空、oracle 判断字段类型,以便于您获取更多的相关知识。

时间: 2024-11-03 00:42:21

Oracle删除表、字段之前判断表、字段是否存在_oracle的相关文章

Oracle删除当前用户下所有表的方法适用于有或没有删除权限_oracle

1.如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可. 2.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户. --创建用户 create user 用户名 profile default identified by 密码 default tablespace 表空间名称 temporary tablespace TEMP account unlock; --

用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等_MsSql

用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 4.sp_rename 改名 更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称. 语法 sp_rename

判断一个字段是否在表中的函数

'判断一个字段是否在表中 Function BlnField(sTblName As String, sFldName As String) As Boolean 'sTblName 源表名 '要查找的字段名 Dim fld As Field Dim rs As DAO.Recordset BlnField = False Set rs = CurrentDb.OpenRecordset(sTblName) rs.Fields.Refresh For Each fld In rs.Fields

oracle修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变

问题描述 oracle修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变 oracle 中修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变? 有如下两张表,表a和表b 表a 结构如下: ID Name age 1 lisi 18 2 wangwu 21 3 sunliu 34 4 yiliu 24 ... ... ... 其中ID字段为表a主键且自增 表b结构如下: CID CNAME ID 1 aaaaa 1 2 bbbbb 2 3 cccccc 4 4

如何删除datagridview中的某个表的字段

问题描述 我构建的datagridview中列是由两个表构建成的:dataTable中字段有:regionID.regionName.字段a.字段b.字段c.字段c两个表分别是:regions和A表regions包含字段:regionID.regionNameA表包含字段:regionID.字段a.字段b.字段c.字段d而我的datagridview显示时为了方便用户填报,我让regionID不显示.我的设计是如何删除A表当我选择datagridview中某些行时,具体的实现过程不用,我个人理解

SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法_Mysql

SQL重复记录查询 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断  select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 例二:  select * from testtable where numeber in (select number from people group by numb

Oracle删除表前判断表名是否存在若存在则删除_oracle

在Oracle中若删除一个不存在的表,如 "DROP TABLE notExistTable",则会提示: ORA-00942:表或视图不存在, 若使用程序执行该语句则会报异常,这就需要我们再删除表前判断该表是否存在,若存在则删除. 下面是不使用存储过程实现删除表的SQL: 复制代码 代码如下: <span style="font-family:Times New Roman;font-size:18px;">DECLARE num NUMBER; BE

SQL Server 判断表中是否存在某字段

原文:SQL Server 判断表中是否存在某字段 功能:判断表中是否存在某字段,若不存在,则新增该字段 语句: IF NOT EXIST (SELECT 1 FROM [DATABASE].SYS.SYSCOLUMNS WHERE ID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME]) AND NAME='COLUMN_NAME') ALTER TABLE [TABLENAME] ADD [COLUMN_NAME] [COLUMN_TYPE]   p.s.

sqlite数据库如何判断表、字段是否存在

1.判断表名是否存在: select * from sqlite_master sqlite_master 的表结构如下: type   |name    |tbl_name    |rootpage   |sql 示范查询结果; ============= type>>table name>>android_metadata tbl_name>>android_metadata rootpage>>3 sql>>CREATE TABLE and