程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server開發過程中常見問題總結

SQL Server開發過程中常見問題總結

編輯:關於SqlServer

在SQL Server開發問題中你可能會問到的十個問題:

1、什麼是常見的對表和字段的名字約束?

2、有沒有可能在不了解T-SQL的情況下編寫存儲過程?

3、T-SQL中如何比較CLR存儲過程和函數的性能?

4、我如何在一個存儲過程中使用另一個存儲過程產生的結果?

5、我如何解決SQL Server 2005的並發問題?

6、在SQL Server 2005中用什麼工具替代了查詢分析器?

7、你能提供一些有關SQL和T-SQL的詳細信息嗎?

8、SQL Server 2005有沒有新的索引類型?

9、我如何創建一個腳本在表中進行選擇?

10、我如何列出那些沒有記錄的數據庫表?

對於表和字段的常見名字約束

回答:

SQL Server 2000下的表和字段名稱有1到128字節的限制,並且遵循用於標識的規則。

第一個字母必須是如下的一種:

· Unicode Standard 2.0中規定的字母。

Unicode對字母的定義包括:拉丁字母,從A到Z,除了來自其他語言的字母之外。

· 下劃線(_),at符號(@),或者數字符號(#)

在SQL Server中以這些符號作為標識符的開始具有特殊的含義。一個以at符號(@)開頭的標識符表示一個本地的變量或者參數。一個以數字符號(#)開頭的標識符代表一個臨時表或者過程。一個以兩個數字符號(##)開頭的標識符標識的是一個全局臨時對象。

一些Transact-SQL函數的名字以兩個at符號(@@)開頭。為了避免與這些函數混淆,推薦你不要使用兩個at符號(@@)開頭的標識符。

接下來的字母可以是以下的任意幾種:

· Unicode Standard 2.0定義的字母

· 來自基礎拉丁文或者其他語音的十進制數字

· at符號(@),美元符號($),數字符號(#),或者下劃線

標識符絕對不能是Transact-SQL的保留字。SQL Server保留了一些大寫和小寫的保留字。內建的空間或者特殊的字母都不允許出現,盡管你可以在好的老版本的Northwind中看到它們包含了內建的空間。你必須通過把它們括在括號中才可以訪問。

不具有任何T-SQL知識的情況下編寫SQL Server2005存儲過程嗎?

許多程序員都認為創建SQL Server存儲過程不再必需T-SQL了。不幸的是(或者並非如此,這根據你的觀點),這並不全是事實。在技術上是可以在不了解T-SQL的情況下創建存儲過程的,但是沒有T-SQL的話則無法訪問任何的數據。

在CLR存儲過程內部進行數據訪問,是通過使用標准的ADO.NET類來完成的。開發人員會在應用程序層發現很多同樣的沒有用處的數據訪問代碼,這些代碼會很輕易地轉移到SQLCLR例程中去。當中間層的這些ADO.NET類需要使用T-SQL來訪問數據的時候,在 CLR主機提供的環境中就會使用同樣的類。

我要強調的是,從技術角度來說,不使用T-SQL來編寫存儲過程是可能的。那麼有沒有理由這麼做呢?一種情況就是這是一個用來從普通文件或者網絡服務中檢索數據的CLR存儲過程,並將數據格式設置為行集。這裡可能就會用到不需要T-SQL的操作——但是這並不是對T -SQL存儲過程能力的一個很好的比喻。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved