SQL 更改表然后修改值

2024-03-17

我正在处理一个 SQL 脚本,当我创建(或编辑)列然后尝试修改该新列时遇到问题。

例如:

BEGIN
    ALTER TABLE SampleTable ADD ColumnThree int 
END

IF (EXISTS (SELECT * FROM sys.columns WHERE name = 'ColumnThree'))
BEGIN
    UPDATE SampleTable SET ColumnThree = 0
END

现在我认为 BEGIN/END 块会将这两个项目分开,但我收到错误“无效的列名称 'ColumnThree'”。当我尝试运行这个时。为什么?第一个 BEGIN/END 不应该设置 ColumnThree 及更多,如果该列名不存在,IF(EXISTS 应该保护 UPDATE 语句不被运行。

做这样的事情的正确方法是什么? (我似乎有几个类似的场景需要这样做)。


你需要GO http://msdn.microsoft.com/en-us/library/ms188037.aspx, not BEGIN/END。另外,您可能想编辑您的EXISTS查询一下以确保您获得正确的表:

ALTER TABLE SampleTable ADD ColumnThree int 
GO

IF (EXISTS 
        (SELECT 1 
         FROM 
             sys.columns c 
             INNER JOIN sys.tables t ON 
                 c.object_id = t.object_id 
         WHERE 
             t.name = 'SampleTable' 
             AND c.name = 'ColumnThree'))
BEGIN
    UPDATE SampleTable SET ColumnThree = 0
END

如果您使用多个模式,您将需要通过sys.schemas也进入支票。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 更改表然后修改值 的相关文章

  • Android 中读取未提交的事务

    我正在进行大量数据库操作 这会向我的数据库添加大约 10 000 条记录 由于这可能需要很长时间 因此最好使用事务 db startTransaction do write operations db setTransactionSucce
  • 在实体框架 6 中使用 SqlQuery>

    我正在尝试在 EF 6 中执行 SQL 查询 select查询返回两个字符串列 例如select a b 并且可以有任意数量的行 我想将结果映射到字典 但我无法摆脱以下错误 错误 1 无法将类型 System Data Entity Inf
  • MySQL 5:我的 GROUP BY 字段的顺序重要吗?

    Peeps 我的 MySQL 查询中有一些聚合 计算字段 我的 GROUP BY 子句是动态生成的 具体取决于用户在 Web 表单中选择的选项 很好奇 GROUP BY 子句中列出的字段顺序是否会对计算产生任何影响 例如 SUM AVERA
  • 不能简单地使用 PostgreSQL 表名(“关系不存在”)

    我正在尝试运行以下 PHP 脚本来执行简单的数据库查询 db host localhost db name showfinder username user password password dbconn pg connect host
  • SQL Server 2008 中的全文搜索一步一步

    如何开始使用SQL Server 2008 中的全文搜索 阅读这些链接 SQL SERVER 2008 创建全文目录和全文搜索 http blog sqlauthority com 2008 09 05 sql server creatin
  • PL/SQL 过程:如何返回 select 语句?

    我想创建一个存储过程 on ORACLE数据库服务器我的问题是 我不知道如何返回 select 语句 这是程序中应包含的逻辑 输入参数 过滤器1 int 过滤器2 字符串 with cte as select val1 val2 stdde
  • 如何在postgresql中编写有关最大行数的约束?

    我认为这是一个很常见的问题 我有一张桌子user id INT 和一张桌子photo id BIGINT owner INT 所有者是一个参考user id 我想向表照片添加一个约束 以防止每个用户将超过 10 张照片输入数据库 写这个的最
  • INTEGER 到 DATETIME 的转换与 VB6 不同

    我正在查看一些遗留的 VB6 代码 比我的时代早很多年 它对 SQL 2005 数据库运行查询 它提供了日期限制WHERE子句 其中日期作为整数值给出CLng VB6 中的日期 e g WHERE SomeDateField gt 4006
  • Postgres 按查询分组

    我正在尝试在 postgres 的查询中使用 group by 我无法让它按照我想要的方式工作 以便根据需要对结果进行分组 这是另一个堆栈问题的扩展我刚刚回答过的递归查询 https stackoverflow com questions
  • 如何重置 SQL Server 中表的 IDENTITY 列? [复制]

    这个问题在这里已经有答案了 我怎样才能重置我的IDENTITY我已经填充的表中的列 我尝试过类似的方法 但它不起作用 WITH TBL AS SELECT ROW NUMBER OVER ORDER BY profile id AS RN
  • 总结同一个 SQL 表上的两个条件

    给定一个 SQL 表 Transactions ID INT COMPANY ID INT STATUS INT where STATUS IN 0 1 表示免费交易并且STATUS IN 2 3 表示可计费交易 简单的 我希望 ANSI
  • 查询以查找平均加权价格

    我在 Oracle 中有一个表 每个给定部分包含多行 每行都有一个与其关联的数量和价格 还有一个给定零件的行集相加的总数量 以下是数据示例 我需要的是获得该零件的平均加权价格 例如 如果数量为 100 的零件的价格为 1 数量为 50 的零
  • 使用 libpqxx 批量存储数据或如何在 libpqxx 中使用 COPY 语句

    要在 PostgreSQL 中插入批量数据 填充数据库 最快的方法是使用 COPY Source https stackoverflow com questions 758945 whats the fastest way to do a
  • SQL查询从表的每条记录生成多条记录

    我有一个包含 3000 条记录的表 使用其中的每一条记录 我必须生成大约 200 条记录 总共 600k 条记录 并通过 SQL Server 2012 将它们插入到第二个表中 我尝试使用 VBA 执行此操作 从第一个表中选择数据 计算 然
  • SQLAlchemy:检查给定值是否在列表中

    问题 在 PostgreSQL 中 检查某个字段是否在给定列表中是使用IN操作员 SELECT FROM stars WHERE star type IN Nova Planet SQLAlchemy 的等价物是什么INSQL查询 我尝试过
  • 有没有任何工具可以查看针对数据库运行的查询?

    是否有任何工具可以检查 asp net 或 sql server 并报告针对数据库运行的所有查询 我问这个问题的原因是我正在一个项目中使用 Linq 并且想要仔细检查它对每个页面实际执行的操作 理想情况下 我想在浏览器中查看页面并获得为创建
  • 当有“拥有”时,为什么你有“哪里”[重复]

    这个问题在这里已经有答案了 我知道这个问题已经被讨论了很多 但我的研究都无法让我相信 where and havingMySQL 中的 子句 据我了解 我们可以使用 where 子句实现所有可以完成的操作having 例如 select f
  • 使用 impala 按范围连接表的有效方法

    我第一个有下表 Range 包括值范围和附加列 row From To Country 1 1200 1500 2 2200 2700 3 1700 1900 4 2100 2150 The From and Toare bigint并且是
  • 使用 unnest() 返回行?

    我尝试在完成后返回一组行UPDATE 像这样的东西 UPDATE Notis new noti SET notis noti record type FROM SELECT FROM Notis WHERE user id 2 FOR UP
  • 通过 R 连接到 Azure SQL

    下面的代码允许我通过 R 连接到 Azure SQL 服务器 但是 我只能访问 主 数据库 而不能访问我在下面创建的两个数据库 表格显示为空白 有什么想法吗 谢谢 library RODBC library dplyr library DB

随机推荐

  • 如何将值从一种形式传递到另一种形式?

    考虑一下我有两个窗口窗体的情况 比如说F1 and F2 使用后F1 我现在已经打电话了F2 ShowDialog 这使得F2也在屏幕上 现在两种形式都可见 我如何从F1 to F2 另外 有一次F2 模态对话框 结束 如何返回数据F1 有
  • Android canvas drawText 文本的 y 位置

    我正在使用 Canvas 创建一个带有一些背景和一些文本的 Drawable 该可绘制对象用作 EditText 内的复合可绘制对象 文本是通过在画布上的 drawText 绘制的 但在某些情况下 我确实对绘制文本的 y 位置存在问题 在这
  • 我从哪里开始组装?

    嘿 我会用 C 语言编程 会一点 Python 和 Pascal 我真的很想学习汇编 我今年 18 岁 高中毕业 编程是 我的爱好 因为学业确实不是什么挑战 我下载了几本关于汇编的书籍 它们是 汇编的艺术 初学者的汇编 完全初学者的汇编和
  • Android 媒体记录器停止异常

    我正在从 Android 媒体录音机录制视频和音频 我正在检查剪辑长度 如果少于 2 秒 请删除它 但问题是 如果我从文件路径检查文件的持续时间 MediaRecorder 每次抛出异常后都会抛出异常 即使我录制 10 秒的音频 但是当我评
  • 为什么空基类优化 (EBO) 在 MSVC 中不起作用?

    为什么空基类优化 EBO 在Visual C 中没有得到充分应用 如果我有很多基类 我有什么办法可以帮助编译器进行这种优化吗 include
  • iOS UITesting 如何关闭 Popover(iPad Popover 不是警报样式)

    我有一个非常复杂的应用程序 有很多视图和弹出窗口 用于快速选择条目 我无法关闭弹出窗口 我尝试了很多类似的 点击窗口中的坐标 app otherElements PopoverDismissRegion 击中后面的元素 弹出窗口 根本不可点
  • Python KafkaConsumer 从某个时间戳开始消费消息

    我计划跳过主题的开头 只读取从某个时间戳到结束的消息 关于如何实现这一目标有任何提示吗 我猜你正在使用kafka python https github com dpkp kafka python https github com dpkp
  • 如何将列表视图放置在 SingleChildScrollView 中但防止它们单独滚动?

    我有一个像这样的小部件树 SingleChildScrollView Column Container ListView or GridView 问题是 当我的小部件树如上所示时 它会给我错误 需要油漆 所以我像这样改变我的小部件树 Col
  • C# 十六进制转ascii

    我正在尝试使用以下命令将十六进制字符串转换为 ASCII public void ConvertHex String hexString StringBuilder sb new StringBuilder for int i 0 i lt
  • 如何从 Android 上的 sqlite 数据库中删除旧行?

    我有一个参数 用户可以在其中选择应存储数据的时间段 我读到了days多变的 记录添加到数据库时的日期和时间存储在KEY DATE ADDED 它的创建方式如下 SimpleDateFormat dateFormat new SimpleDa
  • git-ftp 在 repo 根目录中的文件夹和文件名中添加尖号 (#)

    I use Git ftp https github com git ftp git ftp scripts to uploading of my project via FTP on shared hosting But there is
  • 在 Golang 中导入模块时如何捕获错误?

    在golang中 当我导入一个模块时 它的init 被执行 我假设在main 之前 这个函数中可能会产生一些错误 我如何捕获这些错误并在我自己的代码中处理它们 正如你所知 Go 中的错误是返回值 由于 init 不返回任何内容 因此如果出现
  • 在android中,当应用程序因滑动而被杀死时,如何执行代码?

    所以基本上我在 xamarin 上使用 C 创建了一个应用程序 一切都运行完美 我调用了一个事件处理程序 当我按下 Android 上的后退按钮时 它不会退出应用程序 只是将其移动到后台 为此 我使用了 public override vo
  • Android 获取 Google Play 商店应用程序版本

    我正在使用此代码来获取 Google Play 商店应用程序版本 但这导致我的应用程序挂起 请指定获取应用程序版本的另一种方法 或者我如何使用此代码使应用程序不会挂起并成功运行 public class VersionChecker ext
  • 在 jQuery Mobile 的弹出窗口中打开外部页面

    我正在使用 jQuery Mobile 实际上我想在弹出窗口中打开外部链接 我试过这个 a href Open Dialog a
  • 在 Python 中合并数据帧时出现重复行

    我目前正在使用内部联接合并两个数据帧 但是 合并后 即使我合并的列包含相同的值 我也会看到所有行都是重复的 具体来说 我有以下代码 merged df pd merge df1 df2 on email address how inner
  • 如何在 django 中将图像添加到帖子中

    我正在构建一个博客系统 它允许用户将图像添加到他们的博客中 当用户添加图像时 图像会自动上传 这是在博客发布之前发生的 所以我应该如何处理上传的图像 这些图像有点像临时图像 因为如果用户发布博客 这些图像将会有该博客的外键 并保存到某个文件
  • AWS Lambda 函数无法调用同一 VPC 中的另一个 Lambda 函数

    我创建了一个VPC10 5 0 0 16有 2 个子网 10 5 1 0 24 10 5 4 0 24 我创建了一个安全组 入境规则 Type Protocol Port range Source Description optional
  • 真的有必要在每次应用程序启动时创建 SQLite 表吗?

    我在不止一个 SQLite 教程中注意到该表是在onCreate 扩展类的事件SQLiteOpenHelper 我已经在 Firefox 插件的帮助下在 Android 环境 Eclipse IDE 之外创建了 SQLite 数据库和表 数
  • SQL 更改表然后修改值

    我正在处理一个 SQL 脚本 当我创建 或编辑 列然后尝试修改该新列时遇到问题 例如 BEGIN ALTER TABLE SampleTable ADD ColumnThree int END IF EXISTS SELECT FROM s