接下來的字母可以是以下的任意幾種:
· Unicode Standard 2.0定義的字母
· 來自基礎拉丁文或者其他語音的十進制數字
· at符號(@),美元符號($),數字符號(#),或者下劃線
標識符絕對不能是Transact-SQL的保留字。SQL Server保留了一些大寫和小寫的保留字。內建的空間或者特殊的字母都不允許出現,盡管你可以在好的老版本的Northwind中看到它們包含了內建的空間。你必須通過把它們括在括號中才可以訪問。
我可以在不具有任何T-SQL知識的情況下編寫SQL Server2005存儲過程嗎?
作為過去幾年里面微軟試圖用SQL Server 2005的.NET集成來稱霸市場的野心的結果,許多程序員都認為創建SQL Server存儲過程不再必需T-SQL了。不幸的是(或者并非如此,這根據你的觀點),這并不全是事實。在技術上是可以在不了解T-SQL的情況下創建存儲過程的,但是沒有T-SQL的話則無法訪問任何的數據。
在CLR存儲過程內部進行數據訪問,是通過使用標準的ADO.NET類來完成的。開發人員會在應用程序層發現很多同樣的沒有用處的數據訪問代碼,這些代碼會很輕易地轉移到SQLCLR例程中去。當中間層的這些ADO.NET類需要使用T-SQL來訪問數據的時候,在 CLR主機提供的環境中就會使用同樣的類。
我要強調的是,從技術角度來說,不使用T-SQL來編寫存儲過程是可能的。那么有沒有理由這么做呢?一種情況就是這是一個用來從普通文件或者網絡服務中檢索數據的CLR存儲過程,并將數據格式設置為行集。這里可能就會用到不需要T-SQL的操作——但是這并不是對T -SQL存儲過程能力的一個很好的比喻。
CLR存儲過程vs. T-SQL存儲過程
CLR存儲過程和函數與T-SQL存儲過程和函數相比,性能如何?
專家回答:
這里是用來比較T-SQL例程和CLR例程性能的一種常用的規則:用你的數據,在你的服務器上,測試兩套配置,看看哪一個比較好。
就是說,許多人都運行過性能測試,一般的結果就是T-SQL在標準的CRUD(創建、讀取、更新、刪除)操作上表現要比好一點,而在復雜數學、字符串賦值和其他的超過數據訪問的任務上,則是CLR的性能表現更好一點。
SQL Server 的專家Gustavo Larriera編輯了如下一些關于這個主題的有用鏈接:
·在 SQL Server 2005中使用CLR Integration
·簡單介紹在 SQL Server 2005中的 CLR Integration
·在 SQL Server 2005中對CLR 和T-SQL做出選擇
·介紹 SQL Server 2005中的 CLR Integration
·SQL Server 閑談: SQL Server 2005 Beta 2 CLR問題與回答
·數據庫管理員的酒吧門防御.NET大壞狼
·用戶自定義函數的性能比較
文章來源于領測軟件測試網 http://www.kjueaiud.com/