2009-05-22 137 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用戶亞當·馬拉斯拍攝)

相關問題