ORACLE创建表之前判断表是否存在与SQL Server 对比使用
代码如下:
CREATE OR REPLACE PROCEDURE PROC_CREATE_INFO(P_TABLE_NAME IN USER_TABLES.TABLE_NAME%TYPE) IS
V_SQL VARCHAR2(32767);
V_BEGIN NUMBER;
V_END NUMBER;
V_TOTAL NUMBER;
TYPE TYPE_TABLE IS TABLE OF USER_TABLES.TABLE_NAME%TYPE;
TT TYPE_TABLE;
CURSOR CUR_TABLE_NAME IS
SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME = P_TABLE_NAME;
BEGIN
SELECT DBMS_UTILITY.GET_TIME INTO V_BEGIN FROM DUAL;
OPEN CUR_TABLE_NAME;
LOOP
FETCH CUR_TABLE_NAME BULK COLLECT
INTO TT;
IF P_TABLE_NAME IS NULL THEN
V_SQL := 'CREATE TABLE ' || P_TABLE_NAME || '(' ||
'workdate NVARCHAR2(10) not null,
attendancetype NVARCHAR2(40) not null,
starttime NVARCHAR2(5) not null,
personid NVARCHAR2(40) not null,
endtime NVARCHAR2(5),
resulttime NUMBER(18,2),
departmentid NVARCHAR2(40),
optime NVARCHAR2(23),
lastoptime DATE,
statustype NVARCHAR2(23),
businessunitid NVARCHAR2(40) default "11125050-4860-4d84-b875-ed45db9c222"' || ')';
EXECUTE IMMEDIATE V_SQL;
END IF;
EXIT WHEN CUR_TABLE_NAME%NOTFOUND;
END LOOP;
CLOSE CUR_TABLE_NAME;
SELECT DBMS_UTILITY.GET_TIME INTO V_END FROM DUAL;
SELECT TO_CHAR(V_END - V_BEGIN) / 100 INTO V_TOTAL FROM DUAL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE || '---' || SQLERRM);
END;
另外SQL Server 中语句如下:
IF ( EXISTS (SELECT * FROM sys.objects
WHERE UPPER(name) = UPPER('TABLE_NAME')) )
DROP table TABLE_NAME
GO
CREATE TABLE TABLE_NAME(
[no] [int] NOT NULL,
[COLUMNNAME] [nvarchar](50) NULL,
[MONTH] [nvarchar](40) NULL
) ON [PRIMARY]
GO
ORACLE创建表之前判断表是否存在与SQL Server 对比使用的更多相关文章
- oracle创建表之前判断表是否存在,如果存在则删除已有表
Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id int NOT NULL ...
- 4.3.6 对象的界定通过编写接口来访问带这类命名结构的表会出问题。如前所述,SQL Server的灵活性不应用作编写错误代码或创建问题对象的借口。 注意在使用Management Studio的脚本工具时,SQL Server会界定所有的对象。这不是因为这么做是必须的,也不是编写代码的最佳方式,而是因为在界定符中封装所有的对象,比编写脚本引擎来查找需要界定的对象更容易。
如前所述,在创建对象时,最好避免使用内嵌的空格或保留字作为对象名,但设计人员可能并没有遵守这个最佳实践原则.例如,我当前使用的数据库中有一个审核表名为Transaction,但是Transaction ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- Oracle创建删除用户,角色,表空间,导入导出数据库命令总结(转载)
无意间看到一篇文章,觉得对于ORACLE的新手很实用,特转载,原文出处这里 说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后 ...
- OREACLE 数据库建表 添加判断表是否存在 不存在则新建
declare cnt number; begin ---查询要创建的表是否存在 select count(*)into cnt from user_tables where table_n ...
- Oracle创建、管理撤销表空间
撤销管理模式: 用户通过设定撤销管理模式(undo mode)就可以灵活地选择使用手动撤销管理(manual undo management)或自动撤销管理(automatic undo manage ...
- oracle创建用户并指定表空间
/*第1步:创建ODPS数据表空间 */create tablespace ODPS logging datafile '/home/oracle/tablespace_dir/ODPS.dbf' s ...
- oracle创建/删除 用户,表空间-九五小庞
以下红色标示的都是可以修改的字段 可以按照如下顺序来创建表空间,创建用户,以及删除表空间,删除用户 查看oracle数据库已有的表空间路径 select name from v$datafile; 1 ...
- oracle创建删除用户和表空间
创建用户:sqlplus /nologconn / as sysdba;create user username identified by passwordgreant dba to usernam ...
随机推荐
- jquery实现百度类似搜索提示功能(AJAX应用)
有时候觉得百度那个输入内容就有提示的工具很神奇,它究竟是怎么做到的呢?以前在一个进销存系统中也做过这么个功能,但是远远不及百度的功能强大,百度可以输入首字母,关键字拼音,或关键字都可以匹配,有时在想, ...
- DateFomrat Mask in ASPxTextbox increases width ,How to disable display of dxeErrorCell on ASPxTextBox
让ASPxTextbox显示yyyy-MM-dd, 需设置 <MaskSettings Mask="yyyy-MM-dd" />.但是会导致ASPxTextbox宽度变 ...
- iOS开发网络篇—网络编程基础
iOS开发网络篇—网络编程基础 一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过 ...
- 嵌入式文件I/O操作
今天把这块的东西算是看完了.总结一下,(1)这里包括底层文件的I/O操作,实际上是系统调用函数借口,是基于文件描述符的文件操作:(2)还有标准I/O操作,是基于缓冲流的文件操作:还有(3)串口的操作, ...
- .htaccess简介和详解
.htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到 ...
- 最简单的一个Oracle定时任务
最简单的一个Oracle定时任务一.在PLSQL中创建表:create table HWQY.TEST(CARNO VARCHAR2(30),CARINFOID NUMBER) 二.在PLSQ ...
- pull刷新
package com.example.mylist; import java.util.ArrayList; import java.util.List; import com.example.ad ...
- jQueryUI 之控件们
总结:总的来说,这些控件可以在官网找到列子, 部分ui效果不如意的,可根据jQueryUI上添加的类选择器等,进行再加工 <!DOCTYPE html> <html> < ...
- Android中的五大布局
Android中的五大布局 1.了解布局 一个丰富的界面总是要由很多个控件组成的,那我们如何才能让各个控件都有条不紊地 摆放在界面上,而不是乱糟糟的呢?这就需要借助布局来实现了.布局是一种可用于放置很 ...
- Android使用文件存储数据
Android上最基本的存储数据的方式即为使用文件存储数据,使用基本的Java的FileOutStream,BufferedWriter,FileInputStream和BufferedReader即 ...