SqlServer和Oracle判断表和列是否存在

SqlServer

1.判断表Users是否存在
if object_id(N‘Users‘,N‘U‘) is not null
    print ‘存在‘
else
    print ‘不存在‘

2.判断表Users中是否存在Name这一列
if exists(select * from syscolumns where id=object_id(‘Users‘) and name=‘Name‘
collate Chinese_PRC_CI_AI_WS)
    print ‘存在‘
else
    print ‘不存在‘
备注:collate Chinese_PRC_CI_AI_WS代表不区分大小写

Oracle

1.判断表是否村子
declare
  -- 这里是本地变量
  i integer;
begin
  -- 这里是测试语句
  select count(1) into i from all_tables where table_name=‘SITE_INFO‘ AND owner=‘WIFI‘;
  if(i>0)
  then
     dbms_output.put_line(‘存在‘);
  else
     dbms_output.put_line(‘不存在‘);
  end if;
end;
2.判断列是否存在
declare
  -- 这里是本地变量
  i integer;
begin
  -- 这里是测试语句
  select count(1) into i from all_tab_columns where owner=‘WIFI‘ and table_name=‘SITE_INFO‘ and column_name=‘SITE_ID‘;
  if(i>0)
  then
     dbms_output.put_line(‘存在‘);
  else
     dbms_output.put_line(‘不存在‘);
  end if;
end;

说明:PL/SQL需要新建一个Test Window才能运行上面的语句

时间: 2024-11-03 22:33:34

SqlServer和Oracle判断表和列是否存在的相关文章

sqlserver和oracle修改表结构

sqlserver和oracle修改表结构常用SQL Server:1.增加列  ALTER TABLE users ADD address varchar(30);2.删除列  ALTER TABLE users DROP COLUMN address;3.修改字段类型  ALTER TABLE users ALTER COLUMN address varchar(80);4.重命名列:  EXEC sp_rename 'WN_CALL_INFO.[CUST_CODE]', 'CUST_ID'

Sql Server中判断表、列不存在则创建的方法[转]

一.Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法  ? 1 2 3 4 5 6 7 8 IF EXISTS (  SELECT 1 FROM SYSOBJECTS T1  INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID  WHERE T1.NAME='A' AND T2.NAME='C'  )  PRINT '存在'  E

SQLSERVER和ORACLE系统表获取表名 列名以及列的注释

在工作中从数据库取的数据要导出来,但是发现导出的EXCEL中列名都是字段名(英文),为此搜集资料怎么把字段名变为中文名称,而发现ORACLE和SQLSERVER(用的SQLSERVER2008R2)又有所不同,具体如下: SQLSERVER数据库: 系统表: ---获取表的相关信息              select * from SYS.OBJECTS  (说明:name:表名 object_id:表的ID)  ---获取列的相关信息 select * from SYS.COLUMNS (

oracle判断表中的某个字段是否为数字

本文分别介绍使用trim+translate函数或regexp_like函数判断表中的某个字段是否为数字的方法 1.使用trim+translate函数: select * from table where trim(translate(column,'0123456789',' ')) is NULL; 这里要注意的是:translate函数的第三个参数是一个空格,不是'', 因为translate的第三个参数如果为空的话,那么永远返回'',这样的就不能达到过滤纯数字的目的.这样把所有的数字都

oracle查看表和列的描述

查看备注: --查看表的comment      select   *   from   all_tab_comments   where   table_name= upper(tablename) ; --查看列的comment      select   *   from   all_col_comments   where   table_name=upper(tablename) ; 下面为您介绍的语句用于实现oracle查询用户所有表,如果您对oracle查询方面感兴趣的话,不妨一看

oracle给表及列添加注释

给表添加注释 comment on   table    MW_SYS.MWT_OM_OBJ1 is '业务类型的对象实例.'; 给表中的列添加注释 comment on column MW_SYS.MWT_OM_OBJ1.OBJ_ID is  '对象的唯一标示符.'; comment on column MW_SYS.MWT_OM_OBJ1.OBJ_LOCALID is '对象本地标识.'; comment on column MW_SYS.MWT_OM_OBJ1.OBJ_CAPTION is

获取SQLSERVER所有库 所有表 所有列 所有字段信息

最近想起来做一个项目代码生成器,直接生成底层代码.. 这免不了要先行读取数据库已有的信息.. 废话不多说..开整.. SELECT NAME FROM MASTER..SYSDATABASES --读取所有库 上边语句只得到单表单列..里边就全是数据库的名字.. 然后选择数据库后..按此数据库连接重新链接数据库..执行以下语句 SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' --读取所有表 上边语句依然是得到的单表单列,存储的值全不是当前选择的数据库中的表

oracle创建表案列

下面是以商品交易为案列 做的关于用户.库存.商品.交易的表格

oracle获取表和列的备注

using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Runtime.Serialization.Json;using System.Text.RegularExpressions;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Common;using Dev