揭秘在 SQL Server 數(shù)據(jù)庫(kù)開發(fā)中的十大問題_Mssql數(shù)據(jù)庫(kù)教程
推薦:解決SQLServer與服務(wù)器連接時(shí)出錯(cuò)的方法SQLServer中建立與服務(wù)器的連接時(shí)出錯(cuò)的解決方案如下: 步驟1:在SQLServer 實(shí)例上啟用遠(yuǎn)程連接 1.指向
我們編輯了前十名關(guān)于SQL Server開發(fā)的常見問題。對(duì)常見的針對(duì)表和字段的名字約束進(jìn)行探究。學(xué)習(xí)如何解決并發(fā)問題,并且在不了解T-SQL的情況下編寫存儲(chǔ)過程。查看這些解決方案的快速參考,并且了解更多內(nèi)容。
在SQL Server開發(fā)問題中你可能會(huì)問到的十個(gè)問題:
1、什么是常見的對(duì)表和字段的名字約束?
2、有沒有可能在不了解T-SQL的情況下編寫存儲(chǔ)過程
3、T-SQL 中如何比較CLR 存儲(chǔ)過程和函數(shù)的性能?
4、我如何在一個(gè)存儲(chǔ)過程中使用另一個(gè)存儲(chǔ)過程產(chǎn)生的結(jié)果?
5、我如何解決SQL Server 2005的并發(fā)問題?
6、在SQL Server 2005中用什么工具替代了查詢分析器?
7、你能提供一些有關(guān)SQL 和T-SQL的詳細(xì)信息嗎?
8、SQL Server 2005 有沒有新的索引類型?
9、我如何創(chuàng)建一個(gè)腳本在表中進(jìn)行選擇?
10、我如何列出那些沒有記錄的數(shù)據(jù)庫(kù)表?
對(duì)于表和字段的常見名字約束
專家回答:
SQL Server 2000下的表和字段名稱有1到128字節(jié)的限制,并且遵循用于標(biāo)識(shí)的規(guī)則。第一個(gè)字母必須是如下的一種:
Unicode Standard 2.0中規(guī)定的字母。
Unicode對(duì)字母的定義包括:拉丁字母,從A到Z,除了來自其他語言的字母之外。
下劃線(_),at符號(hào)(@),或者數(shù)字符號(hào)(#)
在SQL Server中以這些符號(hào)作為標(biāo)識(shí)符的開始具有特殊的含義。一個(gè)以at符號(hào)(@)開頭的標(biāo)識(shí)符表示一個(gè)本地的變量或者參數(shù)。一個(gè)以數(shù)字符號(hào)(#)開頭的標(biāo)識(shí)符代表一個(gè)臨時(shí)表或者過程。一個(gè)以兩個(gè)數(shù)字符號(hào)(##)開頭的標(biāo)識(shí)符標(biāo)識(shí)的是一個(gè)全局臨時(shí)對(duì)象。一些Transact-SQL函數(shù)的名字以兩個(gè)at符號(hào)(@@)開頭。為了避免與這些函數(shù)混淆,推薦你不要使用兩個(gè)at符號(hào)(@@)開頭的標(biāo)識(shí)符。接下來的字母可以是以下的任意幾種:
Unicode Standard 2.0定義的字母
來自基礎(chǔ)拉丁文或者其他語音的十進(jìn)制數(shù)字
at符號(hào)(@),美元符號(hào)($),數(shù)字符號(hào)(#),或者下劃線
標(biāo)識(shí)符絕對(duì)不能是Transact-SQL的保留字。SQL Server保留了一些大寫和小寫的保留字。內(nèi)建的空間或者特殊的字母都不允許出現(xiàn),盡管你可以在好的老版本的Northwind中看到它們包含了內(nèi)建的空間。你必須通過把它們括在括號(hào)中才可以訪問。
不具有任何T-SQL知識(shí)的情況下編寫SQL Server2005存儲(chǔ)過程嗎?
作為過去幾年里面微軟試圖用SQL Server 2005的.net集成來稱霸市場(chǎng)的野心的結(jié)果,許多程序員都認(rèn)為創(chuàng)建SQL Server存儲(chǔ)過程不再必需T-SQL了。不幸的是(或者并非如此,這根據(jù)你的觀點(diǎn)),這并不全是事實(shí)。在技術(shù)上是可以在不了解T-SQL的情況下創(chuàng)建存儲(chǔ)過程的,但是沒有T-SQL的話則無法訪問任何的數(shù)據(jù)。
在CLR存儲(chǔ)過程內(nèi)部進(jìn)行數(shù)據(jù)訪問,是通過使用標(biāo)準(zhǔn)的ADO.NET類來完成的。開發(fā)人員會(huì)在應(yīng)用程序?qū)影l(fā)現(xiàn)很多同樣的沒有用處的數(shù)據(jù)訪問代碼,這些代碼會(huì)很輕易地轉(zhuǎn)移到SQLCLR例程中去。當(dāng)中間層的這些ADO.NET類需要使用T-SQL來訪問數(shù)據(jù)的時(shí)候,在 CLR主機(jī)提供的環(huán)境中就會(huì)使用同樣的類。
我要強(qiáng)調(diào)的是,從技術(shù)角度來說,不使用T-SQL來編寫存儲(chǔ)過程是可能的。那么有沒有理由這么做呢?一種情況就是這是一個(gè)用來從普通文件或者網(wǎng)絡(luò)服務(wù)中檢索數(shù)據(jù)的CLR存儲(chǔ)過程,并將數(shù)據(jù)格式設(shè)置為行集。這里可能就會(huì)用到不需要T-SQL的操作——但是這并不是對(duì)T -SQL存儲(chǔ)過程能力的一個(gè)很好的比喻。
CLR存儲(chǔ)過程vs. T-SQL存儲(chǔ)過程
CLR存儲(chǔ)過程和函數(shù)與T-SQL存儲(chǔ)過程和函數(shù)相比,性能如何?
專家回答:
這里是用來比較T-SQL例程和CLR例程性能的一種常用的規(guī)則:用你的數(shù)據(jù),在你的服務(wù)器上,測(cè)試兩套配置,看看哪一個(gè)比較好。 就是說,許多人都運(yùn)行過性能測(cè)試,一般的結(jié)果就是T-SQL在標(biāo)準(zhǔn)的CRUD(創(chuàng)建、讀取、更新、刪除)操作上表現(xiàn)要比好一點(diǎn),而在復(fù)雜數(shù)學(xué)、字符串賦值和其他的超過數(shù)據(jù)訪問的任務(wù)上,則是CLR的性能表現(xiàn)更好一點(diǎn)。 SQL Server 的專家Gustavo Larriera編輯了如下一些關(guān)于這個(gè)主題的有用鏈接:
在 SQL Server 2005中使用CLR Integration。
簡(jiǎn)單介紹在 SQL Server 2005中的 CLR Integration。
在 SQL Server 2005中對(duì)CLR 和T-SQL做出選擇。
介紹 SQL Server 2005中的 CLR Integration。
SQL Server 閑談: SQL Server 2005 Beta 2 CLR問題與回答。
數(shù)據(jù)庫(kù)管理員的防御.NET。 ·用戶自定義函數(shù)的性能比較。
如何在一個(gè)存儲(chǔ)過程中使用另一個(gè)存儲(chǔ)過程的結(jié)果
專家回答:
只要存儲(chǔ)過程只產(chǎn)生了一個(gè)單個(gè)的結(jié)果,要在另外一個(gè)存儲(chǔ)過程中使用這個(gè)存儲(chǔ)過程產(chǎn)生的輸出,這個(gè)技術(shù)是非常直接的。這個(gè)技術(shù)就是使用一個(gè)臨時(shí)表來裝載存儲(chǔ)過程的巨額iguo,然后通過INSERT EXEC語句來執(zhí)行這個(gè)過程并保存結(jié)果。一旦結(jié)果保留在臨時(shí)表中了,他們就可以像使用其它表數(shù)據(jù)一樣來使用它了。 這里是我們可能會(huì)復(fù)用的一個(gè)過程例子:
CREATE PROC usp_Demo_AllAuthors as
select * from pubs..authors
GO
分享:揭秘八個(gè)有用的WordPress的SQL語句在過去的十年中,MySQL已經(jīng)成為廣受歡迎的數(shù)據(jù)庫(kù),而WordPress博客使用的是MySQL數(shù)據(jù)庫(kù),雖然使用插件可以解決一些問題,但是實(shí)現(xiàn)某些特殊任務(wù)的時(shí)候,在phpMyAdmin中執(zhí)行SQL語句是最簡(jiǎn)潔的方法,這里就總結(jié)八個(gè)有用的WordPress系統(tǒng)的SQL語句,用于解決一些
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫(kù),提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- 解決Mysql服務(wù)無法啟動(dòng)的1067錯(cuò)誤
- 如何在SQL 2005中實(shí)現(xiàn)循環(huán)每一行做一定的操作
- 淺析SQL2008的Change Data Capture功能
- SQL Server 2005數(shù)據(jù)庫(kù)鏡像配置腳本示例
- 查詢分析器單步調(diào)試出錯(cuò)的原因
- 清理SQL Server 2008日志文件Cannot shrink log file 2 的解決方案
- 怎樣用壓縮技術(shù)給SQL Server備份文件瘦身
- 淺談自定義數(shù)據(jù)庫(kù)自動(dòng)編號(hào)初始值和步進(jìn)值
- 解析SQL Server2000連接中三個(gè)最常見錯(cuò)誤
- SQL Server 2005數(shù)據(jù)加密技術(shù)應(yīng)用研究
猜你也喜歡看這些
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索揭秘在 SQL Server 數(shù)據(jù)庫(kù)開發(fā)中的十大問題
- 教程說明:
Mssql數(shù)據(jù)庫(kù)教程-揭秘在 SQL Server 數(shù)據(jù)庫(kù)開發(fā)中的十大問題
。