`

数据库之创建表前的判断处理

阅读更多
数据库之创建表前的判断处理
对于sybase/sql server就比较简单,可以使用

if exists(select 1 from sysobjects where id=object_id("表的名称") and type="U")

drop table "表的名称"

go


---然后创建即可。

但是对于oracle就没有对应的语法。如果直接drop掉,则因为对应的对应没有存在,会提示错误信息,对于新手或者用服来说,发现错误的时候就会提出疑问。所以有如下简单的办法来处理。原理很简单,使用user_objects数据字典和动态sql语句。
create or replace procedure proc_dropifexists(
p_i_tablename in varchar2 -----表名字
) is
v_count number(10);
begin
----判断当前用户下是否有对应的表 
select count(*)
into v_count
from user_objects
where object_name = upper(p_i_tablename);

if v_count > 0 then
----如果存在则使用动态sql drop掉该表
execute immediate 'drop table ' || p_i_tablename;
end if;
end proc_dropifexists;

----调用办法demo
exec proc_dropifexists('a');



对于存储过程和触发器,sybase的处理办法和针对表的处理办法类似。oracle就简单了,直接create or replace ,意即存在就删除重建,不存在就创建,简单明了。
分享到:
评论

相关推荐

    判断指定数据库中是否存在指定的表

    ### 知识点一:判断指定数据库中是否存在指定表的方法 在进行数据库操作时,我们经常需要检查某个特定的表是否存在于指定的数据库中。这不仅有助于提高程序的健壮性和容错性,还能帮助开发者更好地管理数据结构。...

    创建数据库.rar_-baijiahao_E4A DB数据库_e4a创建目录_e4a数据库 图片_e4a数据库表格

    3. **创建数据表**:在数据库创建后,我们需要定义数据表的结构。E4A通过执行SQL语句来创建数据表。例如,创建一个名为"Students"的表,包含"ID"和"Name"两个字段: ``` SQLiteExecute("CREATE TABLE Students (ID...

    VB升级ACCESS数据库(判断创建表和字段)

    本篇将详细介绍如何使用VB来升级Access数据库,包括判断并创建表和字段。 首先,我们需要了解VB中的ADO(ActiveX Data Objects)库,它是Microsoft的数据访问接口,允许我们与各种数据库进行交互,包括Access。在VB...

    VB判断SQL表是否存在

    这可以帮助我们确保在执行某些操作(如创建新表、更新数据或读取信息)前,表已正确设置。本篇文章将详细解释如何在VB中实现对SQL数据库中表存在的判断。 首先,你需要连接到SQL数据库。在VB中,你可以使用ADO...

    android 数据库表结构更新步骤

    - 在这个子类中,我们需要重写`onCreate()`方法来创建初始的数据库表,以及`onUpgrade()`方法来处理数据库升级。 2. **表结构的创建** - 在`onCreate()`方法中,使用`SQLiteDatabase`对象的`execSQL()`方法来执行...

    连数据库的调查表

    7. 数据库设计和管理:涉及如何在MySQL中创建合适的表结构来存储调查数据。 8. Web开发流程:包括前端表单设计、后端数据处理和数据库交互。 学习这个项目,你可以深入了解Web应用开发的基本流程,从用户界面设计到...

    数据库原理创建及管理数据库.doc

    1. 数据库创建与管理:学习如何在SSMS中创建新的数据库,以及对数据库进行基本的增删改查操作。 2. 表的创建:创建数据表,定义字段类型、长度、是否为主键等属性。 3. 数据查询: - 查询订货数量在500-800之间的...

    PowerBuilder应用程序在SQL Anywhere数据库中动态创建表的方法.pdf

    3. 错误处理:执行后,需要检查SQLCA的状态,判断是否成功创建了表,并根据需要处理可能出现的错误。 例如,以下是一个简单的代码片段,演示了如何根据结构描述表创建表: ```pb // 获取结构描述表中的数据 String...

    易语言对象创建ACCESS数据库源码

    这个项目通过ADO(ActiveX Data Objects)对象,利用易语言来实现对Access数据库的操作,这包括创建新的数据库、定义表结构以及执行SQL语句等。 描述中提到“程序结合易语言ADO对象实现创建ACCESS数据库功能”,这...

    数据库判断题数据库判断题.doc

    7. 数据库管理:可以使用企业管理器进行多种数据库操作,如查看、创建和删除数据库,但不是所有操作都可用,例如删除数据库通常需要特定语句。 8. 备份与恢复:数据库备份策略包括完整备份、差异备份和事务日志备份...

    数据库的判断程序(VB6.0代码)

    在VB6.0(Visual Basic 6.0)中,编写数据库判断程序是常见的任务,尤其是在处理Microsoft Access数据库(.mdb文件)时。这个程序的目的是确保用户选择的文件是有效的Access数据库文件。以下是该程序的核心知识点: ...

    判断EXCEl版本并存入数据库

    在IT行业中,处理数据是日常任务之一,而Excel和SQL Server常常是数据处理的重要工具。在本场景中,我们关注的是如何判断Excel文件的版本,将其数据导入到SQL Server数据库中,并确保数据的完整性和一致性。以下将...

    c#及SQL server数据库——简单的图书管理系统

    表设计是数据库的核心,比如可以创建“Books”表存储图书信息(如书名、作者、出版社等)、“Users”表存储用户信息(如用户名、密码、联系方式等)以及“BorrowRecords”表记录借阅状态(如借阅人、借阅日期、应还...

    Oracle数据库系统紧急故障处理方法.txt

    此时,可以通过`mount`模式启动数据库,并通过查看日志文件判断哪些被占用的文件位于系统表空间内。 ```sql svrmgrl> startup mount; ``` 2. **恢复过程中遇到的问题:** - 在恢复过程中如果遇到问题,可以考虑...

    易语言模块判断数据库.rar

    这在开发涉及数据库操作的应用时非常关键,可以确保程序在执行数据库操作前能够正确处理各种可能的情况,避免因数据问题引发的错误。 该模块通常包含以下几类函数或方法: 1. 连接管理:包括建立数据库连接、关闭...

    数据库的事务处理方法精讲

    数据库的事务处理是数据库系统中不可或缺的一部分,它确保了数据的一致性和完整性。在本文中,我们将深入探讨在C#和.NET环境中如何处理事务,同时也会涉及到存储过程和数据库连接的相关知识。 首先,让我们理解什么...

    安卓中把数据库读入内存中的判断方法

    ### 安卓中把数据库读入内存中的判断方法 在安卓开发中,SQLite数据库是非常常见的一种数据存储方式。为了提高应用程序的性能与响应速度,在某些情况下我们需要将数据库的部分或全部内容加载到内存中进行操作。这...

    数据库选择题和判断题.doc

    数据库选择题和判断题 数据库选择题和判断题是数据库管理...15. 数据库索引:数据库索引是指在数据库表中的一个或多个列上创建的数据结构,用于快速定位和检索数据。数据库索引可以提高数据库的查询效率和响应速度。

    利用数据库系统表实现多表关联查询

    在现代数据管理中,多表关联查询是数据处理和信息检索中的关键技术之一。对于大型数据库系统,有效地执行多表关联查询不仅能够提升数据处理效率,还能增强应用程序的灵活性和响应速度。本文以PowerBuilder(PB)作为...

    Django数据库内省工具通过数据表名就可以动态创建一个即时可用的Djangomodels对象

    这段代码会遍历所有数据库表,根据表的结构创建相应的Django模型类。注意,这里只是一个基础示例,实际使用时可能需要对字段类型进行更细致的判断,例如处理DateTimeField、ForeignKey等复杂类型。 在处理完所有表...

Global site tag (gtag.js) - Google Analytics