在这种情况下,您可以通过将列添加为NOT NULL并在一个语句

as per my answer here中设置现有行的值来避免此问题.

更一般来说,问题是解析/编译问题.在执行任何语句之前,SQL Server会尝试在批处理中编译所有语句.

当一条语句引用一个不存在的表时,该语句将被延迟编译.当表已存在时,如果引用非现有列,则会抛出错误.最好的方法是在与DML不同的批处理中进行DDL.

如果一条语句在现有表和不存在的表中都引用了一个不存在的列,那么在编译被推迟之前,错误可能会抛出,也可能不会抛出.

您可以单独批次提交(例如,通过在客户端工具中使用批量分隔符GO),或者在通过使用EXEC或EXEC sp_executesql单独编译的子范围中执行该操作.

第一种方法将需要您将代码重构为IF …不能跨批量.

IF NOT EXISTS(SELECT *

FROM sys.columns

WHERE Name = 'OPT_LOCK'

AND object_ID = Object_id('REP_DSGN_SEC_GRP_LNK'))

BEGIN

ALTER TABLE REP_DSGN_SEC_GRP_LNK

ADD OPT_LOCK NUMERIC(10, 0)

EXEC('UPDATE REP_DSGN_SEC_GRP_LNK SET OPT_LOCK = 0');

ALTER TABLE REP_DSGN_SEC_GRP_LNK

ALTER COLUMN OPT_LOCK NUMERIC(10, 0) NOT NULL

END;

创建数据库是列名无效咋办_列创建后,sql server上的列名无效相关推荐

  1. mysql 触发器 列级_列级触发器 SQL Server

    列级触发器就是对表中的某列进行添加或修改时所执行的触发器. 建立列级触发器与建立触发器的语法是相同的,只是在创建时使用IF UPDATE(column)参数. 语法: CREATE TRIGGER t ...

  2. mysql和sql server能共存吗_让防火墙与SQL Server数据库共存

    欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 安全与性能是数据库管理员的两块心头肉.而通过防火墙来保护数据库的安全无疑是一种不错的选择.但是有时会防火墙与SQL S ...

  3. 【QT 数据库专辑】【04】WIN7下搭建本地SQL SERVER数据库 - 手把手-登录远程数据库帐号设定问题

    前言: 多次数据库试验经验报名,远程数据库的访问问题,大多数是因为有帐号和访问权限的原因. 本文,通过从安装SQL SERVER开始暂时,我们在远程访问SQL SERVER数据库的时候可能遇到的问题. ...

  4. aws rds监控慢sql_在AWS RDS SQL Server上的SSAS中部署表格数据库

    aws rds监控慢sql In this article, we are going to explore Analysis Service for AWS RDS SQL Server in de ...

  5. sql server复制表_具有超过246列的表SQL Server复制

    sql server复制表 问题 (Problem) In our environment we use SQL Server merge replication to replicate data ...

  6. sql 键查找 索引查找_残留谓词对SQL Server索引查找操作的影响

    sql 键查找 索引查找 抽象 (Abstract) It is common assumption that an Index Seek operation in a query plan is o ...

  7. 数据库大战,AWS又将目标瞄准了微软SQL Server

    喜欢就关注我们吧! 文|白开水 AWS 宣布了一种新的数据库产品 - 用于 Aurora PostgreSQL 的 Babelfish.该产品旨在效仿 Microsoft 的 SQL Server,并 ...

  8. 华为云数据库SQL Server 上云最佳实践

    作者:华为云数据库高级项目经理/沈志鹏 沈志鹏: 在我开讲之前要先强调一下,刚才两个引擎所说的所有优点,SQL Server都有. 开讲前问一句,有没有人用过SQL Server数据库的?很好用的人还 ...

  9. PostGreSql工作笔记003---在Navicat中创建数据库时报错rolcatupdate不存在_具体原因看其他博文_这里使用pgAdmin4创建管理postgre

    JAVA技术交流QQ群:170933152 在PostgreSQL中,可以使用CREATE DATABASE命令创建数据库. 语法: CREATE DATABASE database_name; SQ ...

最新文章

  1. AI一周热闻:GitHub免费开放无限私有库;苹果市值蒸发超450亿美元;小米入股TCL...
  2. 计算机考研择校分析,上海地区计算机考研择校分析
  3. 网络推广外包专员如何通过网络推广外包提升用户推送打开率?
  4. Java数据结构和算法(二)——数组
  5. Mybatis报错 TooManyResultsException
  6. Android --- android中Invalidate和postInvalidate的区别
  7. 【django】配置前端静态文件【6】
  8. sizeof和gcvt转换双精度函数的函数不是小结的小结
  9. BoltDB 源码分析
  10. OAuth 2.0 协议学习笔记
  11. C#与PHP字符串解压缩
  12. 内核同步机制-优化屏障和内存屏障
  13. Git版本控制及远程仓库的使用
  14. Web Service工作原理及实例
  15. 扩展NameValueCollection
  16. 让simplejson支持datetime类型的序列化
  17. ps怎么抠地图线路_这些图片用PS怎么抠?ps抠图入门及PS抠图常用的7种方法(附详细步骤)...
  18. 【SA TSP】基于matlab模拟退火算法求解34城市旅行商问题【含Matlab源码 882期】
  19. 武威市教师职称计算机考试,关于高级教师职称评定述职报告(精选5篇)
  20. wtg linux双系统,Windows和Linux同时装入移动硬盘,实现可移动专属双系统

热门文章

  1. 我们应该如何看待马斯克心心念念的“超循环”技术
  2. matlab卷积矩阵绝对值,MATLAB矩阵分析和计算
  3. “error C2712: 无法在要求对象展开的函数中使用__try”解决方案
  4. 在线报表设计器如何制作多表单填报(报表工具efreport.com)
  5. 【云原生 · Kubernetes】Kubernetes基础环境搭建
  6. python 代码整体左移或右移
  7. 扬州职业大学计算机一级,扬州市职业大学教务管理系统入口http://jwgl.yzpc.edu.cn/...
  8. for循环和while循环哪个效率更高
  9. 操作Android手机路由表
  10. matlab的mex安装,matlab安装使用mex