在Sql Server管理工具2008的“编辑前200行”窗口中,将带有换行符的文本粘贴到一个varchar(200)列中。

18
我需要在(SQL 2008)数据库中手动编辑几个记录。
我打开 SSMS,右键点击表格,选择“编辑前200行”,找到正确的记录和列,粘贴我的文本(这是一些加粗仅用于演示的内容):

嗨 Michel,

恭喜!

John

存储的只有“嗨 Michel,”,
所有行都丢失了,除了第一个行。
是否有一个很好的功能可以将整个文本粘贴到字段中?

1
使用“INSERT”语句有什么问题吗? :o) - Neil Knight
1
因为用户对插入语句不是很熟悉,但他可以复制粘贴文本。 - Michel
我记得在 SQL Server 2005 中可以使用(几乎等效的)“打开表”界面来完成这项工作,但是我的最新测试表明这并不正确。在开发阶段,在构建编辑界面之前添加数据非常有用。说“只需使用 UPDATE SQL”很好,但当你的数据中有引号时就不行了:( - lambacck
1
如果where子句出现错误,更新/插入语句可能会失控,风险也会更大。通过编辑界面造成的损害会因为你点击行的速度而有所减缓 :) - AaronLS
2个回答

11
我不知道有手动完成这个任务的方法,所以我认为你只能编写SQL语句。当你编辑记录时,你可以将它作为更新语句来编写。
字符串常量可以跨越多行,因此你应该能够直接粘贴你的更新内容而无需重新格式化它。
例如:
UPDATE your_table
SET field_to_update = 'Hi Michel,

Congratulations!

John'
WHERE field = criteria_to_match

1
谢谢你的回答(希望得到一个回答,说我做了一些愚蠢的事情,文本可以轻松地粘贴:)) - Michel
1
不幸的是,但如果这真的是你自己的问题,那么你可以在这里向 Microsoft 提交反馈 https://connect.microsoft.com/SQLServer/Feedback... 他们是否会听取是另一回事! ;) - kevchadders

4

你最好使用脚本来工作。您只需编写更新:

UPDATE <Table Name>
SET Column = 'Hi Michel,

Congratulations!

John'
WHERE <Key column conditions>

我不认为有任何通过编辑窗格完成此操作的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接