-2

我得到了大约 2000 行数据,当我执行 select 语句时,我可以缩小查询范围,但我无法更改任何值,因为我必须更改 50 列,我不想使用更新命令,因为我必须为每个值更新行是唯一的。

任何人都知道使用 select 命令选择数据然后对其进行编辑的任何更简单的方法。

编辑

我刚刚去了 SQL 管理工作室,单击我正在处理的 DB,然后找到该表,我右键单击它,然后它说“选择前 1000 行”,所以现在我可以看到查询和数据,我添加了“在哪里" 进入查询并得到我想要的,但我无法修改下面的表格行:S

*编辑 2 *

或者我可以开发一个实用程序,它将采用表名、列名及其新值并简单地更新它:)

4

3 回答 3

6

在查询窗口中使用UPDATE语句(带有子句)修改数据。WHERE虽然 Management Studio 有一个名为“编辑前 n 行”的功能,但这并不意味着使用它是一个好主意 - 即使在 SQL Server 2012 版本中,仍有几个行为错误仍未解决,它还可以放置不必要的和基础表上的禁止锁。

我知道这不是您想听到的答案,但请熟悉正确的 DML 命令。的文档UPDATE可在此处找到:

http://msdn.microsoft.com/en-us/library/ms177523(v=sql.100).aspx

SELECT总而言之,恕我直言:如果您可以使用with子句识别要更新的行WHERE,您也可以UPDATE使用相同的子句编写查询WHERE

于 2012-08-14T15:16:37.850 回答
5

在 SSMS 中 - 在您看到“选择前 1000 行”的同一位置,应该有另一个选项“打开表”或“编辑前 200 行”(默认情况下)。

如果您在桌子上执行此操作,请按以下按钮:

在此处输入图像描述

然后,您应该能够粘贴您已经编写的选择语句而不是那里的内容,然后按执行按钮(红色感叹号按钮)。出现的网格可编辑的。

一般来说,我倾向于同意@AaronBertrand,但最好自己学习Update语句的语法。

于 2012-08-14T15:20:36.457 回答
1

如果你有 Microsoft Access,你可以创建一个链接到你的 sql server 数据库的表,并通过打开表和修改相关行来编辑它。您可以在 Microsoft Access 中创建查询以及限制要返回的行,然后可以内联编辑要在结果集中更改的列。

例如,请参见此处如何创建到 SQL Server 的链接表。

于 2012-08-14T15:20:56.987 回答