SQL Server 2005中查詢并修改數(shù)據(jù)的不合理設(shè)計(jì)
在SQL Server 2000中,我們想在數(shù)據(jù)庫(kù)表中直接修改數(shù)據(jù),一般的操作方法是:在SQL Server 企業(yè)管理中,選擇相應(yīng)的表,點(diǎn)擊右鍵,在“打開表”中選擇“查詢”,在SQL編輯窗口中輸入SQL語句找到要修改的記錄,然后在結(jié)果窗口中直接修改相應(yīng)的字段。 那在SQL Server 2005中,需要怎樣操作呢? 在SQL Server Management Studio中,找到相應(yīng)的表,點(diǎn)擊右鍵,選擇“Open Table”,然后點(diǎn)擊“Show Sql Pane”按鈕,在Sql Pane窗口中輸入SQL語句找到要修改的記錄,然后在結(jié)果窗口中直接修改相應(yīng)的字段。 也許你覺得SQL Server 2005與SQL Server 2000的操作沒什么區(qū)別。 但問題就出在選擇“Open Table”時(shí),當(dāng)“Open Table”,SQL Server Management Studio會(huì)執(zhí)行查詢表中所有記錄的操作,如果表中數(shù)據(jù)很多,就會(huì)有個(gè)等待查詢的時(shí)間,你會(huì)為這個(gè)等待很惱火,因?yàn)槟阒皇窍胄薷哪硞€(gè)記錄,這個(gè)查詢根本是多余的。在SQL Server 2000中也有“Open Table”,也是查詢所有記錄,但SQL Server 2000還提供了“查詢”操作,就是文章開始講到的操作方法。 你也許會(huì)說SQL Server Management Studio中提供了“Script Table as”操作,但通過Script Table as的Select To查詢的結(jié)果是只讀的,無法進(jìn)行修改。如果通過“Update to”進(jìn)行操作也不方便,因?yàn)槎鄶?shù)情況下,在修改數(shù)據(jù)之前,先要看一下原來的數(shù)據(jù)。如果直接Update,可能會(huì)由于SQL語句中輸錯(cuò)了條件而進(jìn)行了不是期望的修改。 我也是剛剛接觸SQL Serve r2005,也許SQL Server 2005提供了其他方便的操作方法,但我沒找到。如果你知道,歡迎你告訴我。
出處:dudu-快樂程序員
