Oracle如何判断表、列、主键是否存在
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍Oracle如何判断表、列、主键是否存在,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在编写程序时,数据库结构会经常变化,所以经常需要编写一些数据库脚本,编写完
千家信息网最后更新 2025年01月20日Oracle如何判断表、列、主键是否存在
这篇文章主要介绍Oracle如何判断表、列、主键是否存在,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
在编写程序时,数据库结构会经常变化,所以经常需要编写一些数据库脚本,编写完成后需发往现场执行,如果已经存在或者重复执行,有些脚本会报错,所以需要判断其是否存在,现在我就把经常用到的一些判断方法和大家分享下:
一。判断Oracle表是否存在的方法
declare tableExistedCount number; --声明变量存储要查询的表是否存在begin select count(1) into tableExistedCount from user_tables t where t.table_name = upper('Test'); --从系统表中查询当表是否存在 if tableExistedCount = 0 then --如果不存在,使用快速执行语句创建新表 execute immediate 'create table Test --创建测试表 (ID number not null,Name = varchar2(20) not null)'; end if;end;
二。判断Oracle表中的列是否存在的方法
declare columnExistedCount number; --声明变量存储要查询的表中的列是否存在begin --从系统表中查询表中的列是否存在 select count(1) into columnExistedCount from user_tab_columns t where t.table_name = upper('Test') and t.column_name = upper('Age'); --如果不存在,使用快速执行语句添加Age列 if columnExistedCount = 0 then execute immediate 'alter table Test add age number not null'; end if;end;DECLAREnum NUMBER;BEGINSELECT COUNT(1)INTO numfrom colswhere table_name = upper('tableName')and column_name = upper('columnName');IF num > 0 THENexecute immediate 'alter table tableName drop column columnName';END IF;END;
三。判断Oracle表是否存在主键的方法
declare primaryKeyExistedCount number; --声明变量存储要查询的表中的列是否存在begin --从系统表中查询表是否存在主键(因一个表只可能有一个主键,所以只需判断约束类型即可) select count(1) into primaryKeyExistedCount from user_constraints t where t.table_name = upper('Test') and t.constraint_type = 'P'; --如果不存在,使用快速执行语句添加主键约束 if primaryKeyExistedCount = 0 then execute immediate 'alter table Test add constraint PK_Test_ID primary key(id)'; end if;end;
四。判断Oracle表是否存在外键的方法
declare foreignKeyExistedCount number; --声明变量存储要查询的表中的列是否存在begin --从系统表中查询表是否存在主键(因一个表只可能有一个主键,所以只需判断约束类型即可) select count(1) into foreignKeyExistedCount from user_constraints t where t.table_name = upper('Test') and t.constraint_type = 'R' and t.constraint_name = '外键约束名称'; --如果不存在,使用快速执行语句添加主键约束 if foreignKeyExistedCount = 0 then execute immediate 'alter table Test add constraint 外键约束名称 foreign key references 外键引用表(列)'; end if;end;
以上是"Oracle如何判断表、列、主键是否存在"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
查询
方法
变量
系统
语句
存储
查询表
内容
只需
名称
数据
数据库
篇文章
类型
脚本
价值
兴趣
小伙
小伙伴
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学术论文数据库是什么意思
北京建设工程交易基础数据库
网络安全言论举报
网络安全大检查新闻报道标题
网络安全设备标签模板
金山软件开发月饼
中国陶瓷行业信息数据库
时间序列读入日数据库
在国内弄服务器给国外
wap转换app软件开发
王者荣耀各地区服务器一样吗
广州2019网络安全
网络技术来抗疫
奇点网络技术
数据库的存取管理技术包括哪些
plsql执行数据库语句
软件开发有限公司注册
永川租房软件开发
组织部网络安全保障制度
网络安全等级保护分为
参加数据库培训
网络技术对企业经营
常见车型的技术数据库
神机诸葛服务器连接失败
计算机网络技术的劣势
中国中小学生网络安全教育
网络安全有哪些职业
网络数据库技术第三版电子版
dns服务器有哪些安全
软件测试数据库测试题