2009-05-22 67 views
4

我有用于编辑表格数据的MS SQL Management Studio,它没有很好的可用性。我需要像在Excel中一样编辑一百行,能够对列进行编辑以便于编辑过程(SQL Mgmt仅具有“打开表格”功能,不需要对列进行排序,不同于仅使用UPDATE SQL代码的更新)。适用于MS SQL Server的良好表格编辑器?

LinqPad是美好的,但仅限于查询。我想编辑表格结果。

我安装了Acqua Studio,它拥有一切,但试用期满。你知道任何可以做到这一点的免费软件吗?

编辑:我确实需要修改和输入数据,当然我可以通过SQL代码来完成,但是当您手动更新多行时,它并不是很快。我需要一个可编辑的有序网格。我会尝试MSManager Lite。

谢谢

回答

6

MS Access允许一些灵活性:你很有可能已经安装了。

无论是一个ADP或MDB(链接表)应该让你做你想要的(更容易整理,重新排序列等来管理数据。

+0

是否有与SQL Server任何集成? – 2009-05-22 20:06:30

+0

是的。它给你一个灵活的表视图(重新排列列,排序等),但不影响表结构 – gbn 2009-05-23 06:36:47

8

我建议学习必要的SQL更新相应的数据您可以使用SELECT语句和ORDER BY子句按照您希望查看它的顺序查看数据,然后构建一个查询来更新该数据。

您可以使用事务来确定您的更新(如果您仍在学习SQL并且不想搞乱数据库)

BEGIN TRANSACTION -- starts a transaction 
ROLLBACK   -- stops the transaction and rolls back all changes to the tables 
COMMIT   -- stops the transaction and commits all changes to the tables 

你想完成/更新什么,也许我们可以帮助你呢?

编辑

你提到你想编辑存储在表内的一些产品名称。而且这将是一次性任务。我已经在下面设置了一个小型演示,希望能帮助您指导一个可能适合您情况的解决方案。将其复制并粘贴到SQL Management Studio会话中。

此外,如果你想,你可以导出你当前的数据来说excel,在excel中编辑数据,将它作为新的临时表导入并运行SQL更新脚本来更新原始表。

/* 
Products Before Update   Products After Update 
===========================  ============================================= 
ID  ProductName    ID  ProductName 
---------------------------  --------------------------------------------- 
1  MSFT     1  Microsoft Corp. 
2  APPL     2  Apple Inc. 
3  Cisco Systems, Inc.  3  Cisco Systems, Inc. 
4  IBM      4  International Business Machines Corp. 
5  JAVA     5  Sun Microsystems, Inc. 
6  ORCL     6  Oracle Corp. 
*/ 

-- Imagine that this table is a table in your database 
DECLARE @products TABLE (
         ID   INT, 
         ProductName VARCHAR(255) 
         ) 

-- And this table has some product information 
-- which you are trying to update with new information 
INSERT @products 
SELECT 1, 'MSFT' UNION ALL 
SELECT 2, 'APPL' UNION ALL 
SELECT 3, 'Cisco Systems, Inc.' UNION ALL 
SELECT 4, 'IBM' UNION ALL 
SELECT 5, 'JAVA' UNION ALL 
SELECT 6, 'ORCL' 

-- Either build an in-memory temporary table of the product names you wish to update 
-- Or do a database task to import data from excel into a temporary table in the database 
DECLARE @products_update TABLE (
           ID   INT, 
           ProductName VARCHAR(255) 
           ) 

INSERT @products_update 
SELECT 1, 'Microsoft Corp.' UNION ALL 
SELECT 2, 'Apple Inc.' UNION ALL 
SELECT 4, 'International Business Machines Corp.' UNION ALL 
SELECT 5, 'Sun Microsystems, Inc.' UNION ALL 
SELECT 6, 'Oracle Corp.' 

-- Update the table in the database with the in-memory table 
-- for demo purposes, we use @products to represent the database table 
UPDATE  p1 
SET   ProductName = ISNULL(p2.ProductName, p1.ProductName) 
FROM  @products p1 
LEFT JOIN @products_update p2 
     ON p1.ID = p2.ID 

-- Now your products table has been updated 
SELECT  * 
FROM  @products 
+3

+1,SQL是你的朋友,需要一点时间并学习它(至少是基础知识),它会服务于你通过你的职业生涯。另外,如果你有任何SQL问题,这里有很多人会很乐意帮助你。 – 2009-05-22 17:09:45

+0

如果业务用户需要更新数据会怎么样?而且它是一个小商店等等 – gbn 2009-05-22 17:12:25

2

考虑Apex SQL Edit。它具有你提到的所有功能,还有更多,但它不是免费的。

顺便说一句,如果你只需要免费的产品,你应该编辑你的主题行来说。

1

您可以直接在SQL Server Management Studio中执行此操作。当你右键点击表格时,一个选项是“编辑最高200行”。你可以通过选择Tools-> Options并点击SQL Server Object Explorer来扩展它。将“编辑顶行的值”更改为0以编辑所有行。

(回答previous post用户亚当·马拉斯拍摄)