当前位置:   article > 正文

SqlServer数据库DROP TABLE IF EXISTS语句_sqlserver drop table if exists

sqlserver drop table if exists

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

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

  1. DROP TABLE IF EXISTS myschema.mytable;
  2. CREATE TABLE myschema.mytable(
  3. STUNAM varchar(20) not null default '',
  4. CRTTIM datetime DEFAULT CURRENT_TIMESTAMP,
  5. UPDTIM datetime DEFAULT CURRENT_TIMESTAMP ,
  6. PRIMARY KEY (STUNAM)
  7. );
  8. EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'demo表', @level0type=N'SCHEMA', @level0name=N'myschema', @level1type=N'TABLE', @level1name=N'mytable'; -- 添加表注释
  9. -- 添加字段注释
  10. 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 的语法,可替换成:

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

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

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/440747
推荐阅读
相关标签
  

闽ICP备14008679号