我得到了2000行数据,当我选择语句时,我可以缩小查询范围,但我无法更改任何值,因为我必须更改50列,我不想使用更新命令,因为我需要的值每行的更新都是唯一的。
任何人都知道使用select命令选择数据的更简单方法,然后进行编辑。
修改
我刚去了SQL管理工作室,点击我正在处理的数据库然后找到表,我右键单击它然后它说“选择前1000行”所以现在我可以看到查询和数据,我将“Where”添加到查询中并获得我想要的内容,但我无法修改下面的表行:S
* 编辑2 *
或者我可以开发一个实用程序,它将获取表名,列名及其新值,并简单地更新它:)
答案 0 :(得分:6)
您可以在查询窗口中使用UPDATE
语句(带有WHERE
子句)修改数据。虽然Management Studio有一个名为“编辑前三行”的功能,但并不意味着使用它也是一个好主意 - 即使在SQL Server 2012版本中,仍有一些行为错误尚未解决,它也可以放置不必要的内容。基础表上的禁止锁定。
我知道这不是您想要听到的答案,但请熟悉正确的DML命令。 UPDATE
的文档可在此处找到:
http://msdn.microsoft.com/en-us/library/ms177523(v=sql.100).aspx
它的长短,恕我直言:如果您可以使用带有SELECT
子句的WHERE
来标识要更新的行,还可以编写UPDATE
个查询使用相同的WHERE
子句。
答案 1 :(得分:5)
在SSMS中 - 在您看到“选择前1000行”的同一个地方,应该有另一个选项“打开表格”或“编辑前200行”(默认情况下)。
如果你在桌子上这样做,那么按下以下按钮:
然后你应该能够粘贴你已经写过的选择语句而不是那里的语句,按下执行按钮(红色感叹号按钮)。显示的网格可编辑。
总的来说,我倾向于同意@AaronBertrand,最好自己学习Update
语句的语法。
答案 2 :(得分:1)
如果您有Microsoft Access,您可以创建一个链接表到您的SQL Server数据库并通过打开表并修改相关行来编辑它。您可以在Microsoft Access中创建查询以及限制要返回的行,然后您可以内联编辑要在结果集中更改的列。
请参阅示例here如何创建到SQL Server的链接表。