日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解讀SQL存儲(chǔ)過程入門級教程(5)_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:按指定排列順序獲取數(shù)據(jù)的sql語句
測試table create table table1 (id int,name char) insert into table1 select 1,'q' union all select 2,'r' union all select 3,'3' union all select 4,'5' 要求按指定的id順序(比如2,1,4,3)排列獲取table1的數(shù)據(jù) 方法1: 使用union all,但是有256條數(shù)據(jù)的


臨時(shí)存儲(chǔ)過程

SQL Server 支持兩種臨時(shí)過程:局部臨時(shí)過程和全局臨時(shí)過程。局部臨時(shí)過程只能由創(chuàng)建該過程的連接使用。全局臨時(shí)過程則可由所有連接使用。局部臨時(shí)過程在當(dāng)前會(huì)話結(jié)束 時(shí)自動(dòng)除去。全局臨時(shí)過程在使用該過程的最后一個(gè)會(huì)話結(jié)束時(shí)除去。通常是在創(chuàng)建該過程的會(huì)話結(jié)束時(shí)。

臨時(shí)過程用 # 和 ## 命名,可以由任何用戶創(chuàng)建。創(chuàng)建過程后,局部過程的所有者是唯一可以使用該過程的用戶。執(zhí)行局部臨時(shí)過程的權(quán)限不能授予其他用戶。如果創(chuàng)建了全局臨時(shí)過 程,則所有用戶均可以訪問該過程,權(quán)限不能顯式廢除。只有在 tempdb 數(shù)據(jù)庫中具有顯式 CREATE PROCEDURE 權(quán)限的用戶,才可以在該數(shù)據(jù)庫中顯式創(chuàng)建臨時(shí)過程(不使用編號(hào)符命名)�?梢允谟杌驈U除這些過程中的權(quán)限。 


說明 頻繁使用臨時(shí)存儲(chǔ)過程會(huì)在 tempdb 中的系統(tǒng)表上產(chǎn)生爭用,從而對性能產(chǎn)生負(fù)面影響。建議使用 sp_executesql 代替。sp_executesql 不在系統(tǒng)表中存儲(chǔ)數(shù)據(jù),因此可以避免這一問題。

自動(dòng)執(zhí)行存儲(chǔ)過程

SQL Server 啟動(dòng)時(shí)可以自動(dòng)執(zhí)行一個(gè)或多個(gè)存儲(chǔ)過程。這些存儲(chǔ)過程必須由系統(tǒng)管理員創(chuàng)建,并在 sysadmin 固定服務(wù)器角色下作為后臺(tái)過程執(zhí)行。這些過程不能有任何輸入?yún)?shù)。 

對啟動(dòng)過程的數(shù)目沒有限制,但是要注意,每個(gè)啟動(dòng)過程在執(zhí)行時(shí)都會(huì)占用一個(gè)連接。如果必須在啟動(dòng)時(shí)執(zhí)行多個(gè)過程,但不需要并行執(zhí)行,則可以指定一個(gè)過程作為啟動(dòng)過程,讓該過程調(diào)用其它過程。這樣就只占用一個(gè)連接。

在啟動(dòng)時(shí)恢復(fù)了最后一個(gè)數(shù)據(jù)庫后,即開始執(zhí)行存儲(chǔ)過程。若要跳過這些存儲(chǔ)過程的執(zhí)行,請將啟動(dòng)參數(shù)指定為跟蹤標(biāo)記 4022。如果以最低配置啟動(dòng) SQL Server(使用 -f 標(biāo)記),則啟動(dòng)存儲(chǔ)過程也不會(huì)執(zhí)行。
若要?jiǎng)?chuàng)建啟動(dòng)存儲(chǔ)過程,必須作為 sysadmin 固定服務(wù)器角色的成員登錄,并在 master 數(shù)據(jù)庫中創(chuàng)建存儲(chǔ)過程。

使用 sp_procoption 可以: 

將現(xiàn)有存儲(chǔ)過程指定為啟動(dòng)過程。


停止在 SQL Server 啟動(dòng)時(shí)執(zhí)行過程。


查看 SQL Server 啟動(dòng)時(shí)執(zhí)行的所有過程的列表。 
存儲(chǔ)過程嵌套
存儲(chǔ)過程可以嵌套,即一個(gè)存儲(chǔ)過程可以調(diào)用另一個(gè)存儲(chǔ)過程。在被調(diào)用過程開始執(zhí)行時(shí),嵌套級將增加,在被調(diào)用過程執(zhí)行結(jié)束后,嵌套級將減少。如果超出最大的嵌套級,會(huì)使整個(gè)調(diào)用過程鏈?zhǔn) ?捎?nbsp;@@NESTLEVEL 函數(shù)返回當(dāng)前的嵌套級。

若要估計(jì)編譯后的存儲(chǔ)過程大小,請使用下列性能監(jiān)視計(jì)數(shù)器。 


* 各種分類的高速緩存對象均可以使用這些計(jì)數(shù)器,包括特殊 sql、準(zhǔn)備 sql、過程、觸發(fā)器等。

sql_statement 限制
除了 SET SHOWPLAN_TEXT 和 SET SHOWPLAN_ALL 之外(這兩個(gè)語句必須是批處理中僅有的語句),任何 SET 語句均可以在存儲(chǔ)過程內(nèi)部指定。所選擇的 SET 選項(xiàng)在存儲(chǔ)過程執(zhí)行過程中有效,之后恢復(fù)為原來的設(shè)置。 

分享:總結(jié)經(jīng)典常用的SQL語句(2)
向表中添加一個(gè)新記錄,你要使用SQLINSERT語句。 這里有一個(gè)如何使用這種語句的例子: INSERTmytable(mycolumn)VALUES(‘somedata’) 這個(gè)語句把字符串’somedata’插入表mytable的mycolumn字段中。將要被插入數(shù)據(jù)的字段的名字在第一個(gè)括號(hào)中指定,實(shí)際的數(shù)

來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時(shí)間:2010-04-06
相關(guān)Mssql數(shù)據(jù)庫教程