近日碰到SqlServer数据库版本不一致,执行建表脚本时DROP TABLE IF  EXISTS语法的小问题,自己做个记录便于后续查看。

在SqlServer2016版本及更高版本,建表前判断表是否存在,可以使用:

DROP TABLE IF EXISTS myschema.mytable;
CREATE TABLE myschema.mytable(STUNAM varchar(20) not null default '',CRTTIM datetime DEFAULT CURRENT_TIMESTAMP,  UPDTIM datetime DEFAULT CURRENT_TIMESTAMP , PRIMARY KEY (STUNAM)
);EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'demo表',  @level0type=N'SCHEMA', @level0name=N'myschema', @level1type=N'TABLE', @level1name=N'mytable'; -- 添加表注释-- 添加字段注释EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生姓名',  @level0type=N'SCHEMA', @level0name=N'myschema', @level1type=N'TABLE', @level1name=N'mytable', @level2type=N'column', @level2name=N'STUNAM';

但是在 低版本的SqlServer并不支持, DROP TABLE IF  EXISTS 的语法,可替换成:

IF OBJECT_ID(N'myschema.mytable', N'U') IS  NOT  NULL
DROP TABLE myschema.mytable;

在低版本执行 DROP TABLE IF  EXISTS 会报错 在应使用条件的上下文中指定了非布尔类型的表达式

SqlServer数据库DROP TABLE IF EXISTS语句相关推荐

  1. 2022-12-01:从不订购的客户。找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C

    2022-12-01:从不订购的客户.找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C ...

  2. Spark 报错 DROP TABLE IF EXISTS should not show AnalysisException

    spark-sql 执行执行 drop table if exists xxxx 的时候,报错信息如下: DROP TABLE IF EXISTS should not show AnalysisEx ...

  3. oracle 实现 drop table if exists

    使用如下代码进行替换: BEGINEXECUTE IMMEDIATE 'DROP TABLE this_table'; EXCEPTIONWHEN OTHERS THENNULL; END;

  4. 问题总结:判断MS SQLSERVER临时表是否存在 drop table #tempcitys

    问题总结:判断MS SQLSERVER临时表是否存在  drop table  #tempcitys  select * into #tempcitys from hy_citys 上面的语句第一次运 ...

  5. mysql数据库删除tokudb表 drop table报错unknowntable处理方法【转载】

    最近客户现场的tokudb表使用过程中报错unknown table,总结后处理步骤如下: 1. 确定问题表的数据文件 示例sql如下,假设库名为dwh_cmste,表名为cmst_servicelo ...

  6. MySQL与SQLServer的区别(一千条语句)

    ER图.分页.差异.Java连接MySQL SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 ...

  7. c# mysql executescalar_C# 操作MySQL数据库, ExecuteScalar()方法执行T-SQL语句, COUNT(*), 统计数据...

    C# 操作My SQL数据库需要引用"MySql.Data", 可通过两种方式获取. 1.从NuGet下载"Install-Package MySql.Data -Ver ...

  8. quartz各版本MySQL数据库存储建表SQL语句

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 用quartz管理任务计划很方便,但是当使用数据库作为存储介质的时候,必须要先创建表,不然就会报错. ...

  9. SqlServer数据库的常用操作-更新中

    以下所有操作均可以在对象资源管理器中执行 1.创ii建数据库 create database 学生选课数据库 on (name = '学生选课_m',filename = 'C:\Program Fi ...

最新文章

  1. 用java向mysql数据库中插入数据为空
  2. php删除目录下的所有文件和目录
  3. 区块链用AI和大数据改变行业现状
  4. 机器学习线性回归_机器学习-线性回归
  5. ElasticSearch常用命令记录
  6. c语言学习-判断101-200之间有多少个素数,并输出所有素数及素数的个数
  7. Hbase命令设置TTL/编码设置TTL
  8. 植物科学常用数据库和生物信息学工具2020
  9. 萤火虫小程序_实测!成都人私藏的免费耍水地,抓螃蟹、烤烧烤、赏萤火虫,周末一天来回!...
  10. Java中IO和NIO的区别
  11. opencv c++ 检测红色HSV 和RGB
  12. “贵阳发生了什么”大数据主题报告会在京举行
  13. ORCAD 原理图中的基本操作
  14. 无人值守安装操作系统
  15. vue中的路由跳转和传参
  16. android 上最强的计算器,史上最强超级计算器发布!完爆科学计算器
  17. 一天干掉一只Monkey计划(四)——卡通着色,描边
  18. 负载均衡有哪些常见策略?
  19. 教你远程桌面如何传递声音
  20. PicGo配置(gitee)

热门文章

  1. 【长文慎入】百度阿里网易大疆等大小厂前端校招面筋
  2. 西瓜书习题详解 机器学习能在互联网搜索的哪些环节起什么作用?
  3. 关于微信小程序相关内容
  4. jssdk分享设置_微信分享 JSSDK的使用
  5. VM虚拟机三种网络模式详解
  6. Oracle Applications DBA 基础(二)
  7. 【Speaker Recognition】A Neural-Network-Based Approach to Identifying Speakers in Novels
  8. 基于GIS的配电系统图形编辑
  9. 文件存储技术-OSS云存储服务
  10. 英语口语8000句(1)