SQL Server 2008 IntelliSense試用記

drillchina發表於2008-01-24

DML語句

最遺憾的是IntelliSense只支援SELECT,UPDATE、DELETE和INSERT語句都不支援。

對於SELECT語句,Query Editor會根據當前的上下文確定當前資料庫,也就是說不是當前會話連線的資料庫,所以用一句簡單的USE DATABASE語句就可以改變用於生成IntelliSense列表的當前資料庫。IntelliSense初始載入的列表項包括當前資料庫中的架構以及使用者預設架構下的表、檢視和使用者定義函式,還有所有系統內建的系統變數、系統函式,最後還有當前連線例項中的所有其他資料庫。使用者在Query Editior中輸入架構並加上"."符號後就可以看到架構下的表、檢視和使用者函式了,當使用者繼續輸入表名或檢視名並加上"."符號後就可以看到表和檢視中的欄位列表了。

從安全性方面,使用者必須要有View Definition的許可權才能正常使用IntelliSense。拿AdventureWorks來說,AdventureWorks下面有Person、Production、Purchasing和Sales四個架構,如果使用者只有Sales架構的View Definition許可權,那麼當他輸入"Production." 、"Person."或"Purchasing."的時候,他就看不到任何的提示。

另外值得提到的是,IntelliSense提供的列表不僅僅是資料庫中已經存在的物件,還可以包括在當前指令碼中那些尚未提交的物件,這就使得在編寫架構定義的指令碼時IntelliSense仍然可以起到一定作用。

DDL語句以及DCL語句

沒有提供IntelliSense的支援。

引數支援

SQL Server 2008的IntelliSense支援函式和儲存過程的引數,不過非常遺憾的是要讓IntelliSense提供引數資訊必須要在XML Editor下。

總結

總體來說,個人覺得SQL Server 2008的IntelliSense功能還需要改進,至少要支援DDL語句麼,而且不要把引數支援放到XML Editor下面去。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9079672/viewspace-159337/,如需轉載,請註明出處,否則將追究法律責任。

相關文章