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

解讀SQL存儲(chǔ)過(guò)程入門級(jí)教程(2)_Mssql數(shù)據(jù)庫(kù)教程

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

推薦:按指定排列順序獲取數(shù)據(jù)的sql語(yǔ)句
測(cè)試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ù)的


(4) 存儲(chǔ)過(guò)程可被作為一種安全機(jī)制來(lái)充分利用

系統(tǒng)管理員通過(guò)對(duì)執(zhí)行某一存儲(chǔ)過(guò)程的權(quán)限進(jìn)行限制,從而能夠?qū)崿F(xiàn)對(duì)相應(yīng)的數(shù)據(jù)訪問(wèn)權(quán)限的限制,避免非授權(quán)用戶對(duì)數(shù)據(jù)的訪問(wèn),保證數(shù)據(jù)的安全。(我們將在14 章“SQLServer 的用戶和安全性管理”中對(duì)存儲(chǔ)過(guò)程的這一應(yīng)用作更為清晰的介紹)

注意:存儲(chǔ)過(guò)程雖然既有參數(shù)又有返回值,但是它與函數(shù)不同。存儲(chǔ)過(guò)程的返回值只是指明執(zhí)行是否成功,并且它不能像函數(shù)那樣被直接調(diào)用,也就是在調(diào)用存儲(chǔ)過(guò)程時(shí),在存儲(chǔ)過(guò)程名字前一定要有EXEC保留字。 

2.SQL存儲(chǔ)過(guò)程創(chuàng)建

創(chuàng)建存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程是保存起來(lái)的可以接受和返回用戶提供的參數(shù)的 Transact-SQL 語(yǔ)句的集合。

可以創(chuàng)建一個(gè)過(guò)程供永久使用,或在一個(gè)會(huì)話中臨時(shí)使用(局部臨時(shí)過(guò)程),或在所有會(huì)話中臨時(shí)使用(全局臨時(shí)過(guò)程)。

也可以創(chuàng)建在 Microsoft? SQL Server? 啟動(dòng)時(shí)自動(dòng)運(yùn)行的存儲(chǔ)過(guò)程。

語(yǔ)法
  CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ] 

[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] 

[ FOR REPLICATION ] 

AS sql_statement [ ...n ]
參數(shù)

procedure_name

新存儲(chǔ)過(guò)程的名稱。過(guò)程名必須符合標(biāo)識(shí)符規(guī)則,且對(duì)于數(shù)據(jù)庫(kù)及其所有者必須唯一。
要?jiǎng)?chuàng)建局部臨時(shí)過(guò)程,可以在 procedure_name 前面加一個(gè)編號(hào)符 (#procedure_name),要?jiǎng)?chuàng)建全局臨時(shí)過(guò)程,可以在 procedure_name 前面加兩個(gè)編號(hào)符 (##procedure_name)。完整的名稱(包括 # 或 ##)不能超過(guò) 128 個(gè)字符。指定過(guò)程所有者的名稱是可選的。

;number

是可選的整數(shù),用來(lái)對(duì)同名的過(guò)程分組,以便用一 條 DROP PROCEDURE 語(yǔ)句即可將同組的過(guò)程一起除去。例如,名為 orders 的應(yīng)用程序使用的過(guò)程可以命名為 orderproc;1、orderproc;2 等。DROP PROCEDURE orderproc 語(yǔ)句將除去整個(gè)組。如果名稱中包含定界標(biāo)識(shí)符,則數(shù)字不應(yīng)包含在標(biāo)識(shí)符中,只應(yīng)在 procedure_name 前后使用適當(dāng)?shù)亩ń绶?

@parameter

過(guò)程中的參數(shù)。在 CREATE PROCEDURE 語(yǔ)句中可以聲明一個(gè)或多個(gè)參數(shù)。用戶必須在執(zhí)行過(guò)程時(shí)提供每個(gè)所聲明參數(shù)的值(除非定義了該參數(shù)的默認(rèn)值)。存儲(chǔ)過(guò)程最多可以有 2.100 個(gè)參數(shù)。

使用 @ 符號(hào)作為第一個(gè)字符來(lái)指定參數(shù)名稱。參數(shù)名稱必須符合標(biāo)識(shí)符的規(guī)則。每個(gè)過(guò)程的參數(shù)僅用于該過(guò)程本身;相同的參數(shù)名稱可以用在其它過(guò)程中。默認(rèn)情況下,參數(shù)只能代替常量,而不能用于代替表名、列名或其它數(shù)據(jù)庫(kù)對(duì)象的名稱。
data_type

參數(shù)的數(shù)據(jù)類型。所有數(shù)據(jù)類型(包括 text、ntext 和 image)均可以用作存儲(chǔ)過(guò)程的參數(shù)。不過(guò),cursor 數(shù)據(jù)類型只能用于 OUTPUT 參數(shù)。如果指定的數(shù)據(jù)類型為 cursor,也必須同時(shí)指定 VARYING 和 OUTPUT 關(guān)鍵字。

說(shuō)明 對(duì)于可以是 cursor 數(shù)據(jù)類型的輸出參數(shù),沒(méi)有最大數(shù)目的限制。


VARYING

指定作為輸出參數(shù)支持的結(jié)果集(由存儲(chǔ)過(guò)程動(dòng)態(tài)構(gòu)造,內(nèi)容可以變化)。僅適用于游標(biāo)參數(shù)。

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

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