日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server 7.0 入門(八)

瀏覽:207日期:2023-10-28 10:01:42
存儲過程中返回結(jié)果;;;;;;;從存儲過程中返回結(jié)果有三種方式:1、;;返回結(jié)果集這是客戶端應(yīng)用程序返回結(jié)果的最通用的方法。結(jié)果集是通過使用SELECT語句選擇數(shù)據(jù)產(chǎn)生的。結(jié)果集可以從永久表、臨時(shí)表或局部變量中產(chǎn)生。將結(jié)果返回到另一個(gè)存儲過程不是一種有效的方法。存儲過程不能訪問另一個(gè)存儲過程建立的結(jié)果集。例如從永久表中返回結(jié)果集:USE pubsGOCREATE PROCEDURE ap_CreateResultFromPermtableASSELECT au_iname FROM authorsGO例如從局部變量中創(chuàng)建結(jié)果集:USE pubsGOCREATE PROCEDURE ap_CreateResultFromVariableASDECLARE @au_iname char(20)SELECT @au_iname = au_iname FROM authorsWHERE au_id = ‘172-32-1176’SELECT @au_idGO2、;;設(shè)置OUTPUT參數(shù)的值輸出參數(shù)經(jīng)常用來從存儲過程中檢索出結(jié)果。如果某個(gè)參數(shù)在傳輸?shù)酱鎯^程中時(shí)被定義成OUTPUT,則對該參數(shù)的任何修改在退出存儲之后仍然有效。例如:USE pubsGOCREATE PROCEDURE ap_SetOutputVar @count integer OUTPUTASSELECT @count = count(*) FROM authorsGO從輸出參數(shù)中檢索出值:USE pubsGOCREATE PROCEDURE ap_GetOutputVarASDECLARE @num integerEXECUTE ap_SetOutputVar @num OUTPUTPRINT “the count is”+convert(char,@num)GO· 將游標(biāo)使用成OUTPUT參數(shù)。游標(biāo)可以使用OUTPUT(輸出)參數(shù),但不能使用成輸入?yún)?shù)。也就是說,游標(biāo)可以作為結(jié)果返回,但卻不能傳輸?shù)竭^程中去。當(dāng)游標(biāo)被用作參數(shù)時(shí),需要限定其為OUTPUT和VARYING。VARYING關(guān)鍵字指出該結(jié)果集要用來支持輸出參數(shù)。這樣就提供了將結(jié)果集返回到調(diào)用過程的能力。例如:USE pubsGOCREATE PROCEDURE GetTitleCount @count_cursor CURSOR VARYING OUTPUTASSET @count_cursor = CURSORFORSELECT au_id,count(*)FROM titleauthorsGROUP BY au_idOPEN @count_cursorGO3、;;通過RETURN參數(shù)返回狀態(tài)這是一種從存儲過程返回錯(cuò)誤碼的方法。存儲過程總是返回一個(gè)狀態(tài)值,用戶也可以使用RETURN語句返回自己的狀態(tài)。例如:USE pubsGOCREATE PROCEDURE ap_SetReturnStatusASDECLARE @count integerSELECT @count = count(*) FROM authorsIF @count = 0RETURN(1)ELSERETURN (0)GO例如檢索出返回的狀態(tài):USE pubsGOCREATE PROCEDURE ap_GetReturnStatusASDECLARE @status integerEXECUTE @status = ap_SetReturnStatusIF @status = 1PRINT “No rows found”ELSEPRINT “successful”GO在存儲過程中進(jìn)行錯(cuò)誤處理;;;;;;;如同其它程序一樣,在存儲過程中進(jìn)行錯(cuò)誤處理是非常重要的。系統(tǒng)變更@@error在執(zhí)行每一個(gè)Transact SQL語句之后都會得到一個(gè)值。對于成功的執(zhí)行,@@error的值為0,如果出現(xiàn)錯(cuò)誤,則@@error中將包含錯(cuò)誤信息。@@error系統(tǒng)變量對存儲過程的錯(cuò)誤處理是非常重要的。;;;;;;;注意:為了防止錯(cuò)誤,@@error所能設(shè)置的值在sysmessages表的“error”中反映了出來。在存儲過程中的錯(cuò)誤有兩種類型:1、;;;;數(shù)據(jù)庫相關(guān)的錯(cuò)誤這些錯(cuò)誤是由數(shù)據(jù)庫的不一致性引起的,系統(tǒng)使用非0的@@error值表示特定的數(shù)據(jù)庫問題。在Transact SQL執(zhí)行之后,可以通過@@error獲得所出現(xiàn)的錯(cuò)誤。如果發(fā)現(xiàn)@@error不為0,則必須采取必要的行動,大多數(shù)情況下,存儲將不再繼續(xù)進(jìn)行處理而返回。下面的示例展示了典型的獲取數(shù)據(jù)庫錯(cuò)誤的方法。該過程將錯(cuò)誤代碼放置到輸出變量中,這樣,調(diào)用程序就能夠訪問到。USE pubsGOCREATE PROCEDURE ap_TrapDatabaseError @return_code integer OUTPUTASUPDATE authors SET au_iname = “Jackson”WHERE au_iname = “Smith”IF @@error <> 0BEGIN;;;;;;;SELECT @return_code = @@error;;;;;;;RETURNENDELSE;;;;;;;@return_code = 0GO2、;;;;業(yè)務(wù)邏輯錯(cuò)誤這些錯(cuò)誤是由于違反了業(yè)務(wù)規(guī)則而引起的。要獲取這些錯(cuò)誤,首先需要定義業(yè)務(wù)規(guī)則,基于這些規(guī)則,需要在存儲過程中增加必要的錯(cuò)誤檢測代碼。人們經(jīng)常使用RAISERROR語句通報(bào)這些錯(cuò)誤。RAISERROR提供了返回用戶定義錯(cuò)誤及將@@error變量設(shè)置成用戶定義錯(cuò)誤號的能力。錯(cuò)誤消息可以被動態(tài)地建立,或者基于錯(cuò)誤號從“sysmessages”表中檢索到。一旦出現(xiàn)了錯(cuò)誤,錯(cuò)誤就會以一種服務(wù)器錯(cuò)誤消息的方式返回到客戶機(jī)。下面是RAISERROR命令的語法:RAISERROR (msg_id | msg_str, severity, state[, argument ][,…n]])[WITH options]Msg_id指明用戶定義消息的id,該消息存儲在“sysmessages”系統(tǒng)表中。Msg_str用于動態(tài)創(chuàng)建消息的消息字符串。這與C語言中的“printf”非常相似。Severity定義用戶賦值的錯(cuò)誤消息嚴(yán)重程度。State是從1到127的任意整數(shù)值,它表示錯(cuò)誤的調(diào)用狀態(tài)信息。負(fù)數(shù)的state值將缺省為1。OPTIONS指明錯(cuò)誤的定制選項(xiàng)。OPTIONS的有效值如下:1);;LOG。將錯(cuò)誤記錄到服務(wù)器錯(cuò)誤日志和NT事件日志中。該選項(xiàng)需要消息帶有從19到25的嚴(yán)重程度。而只有系統(tǒng)管理員才能發(fā)出這種消息。2);;NOWAIT。將消息立即發(fā)送到客戶端服務(wù)器。3);;SETERROR。不管其嚴(yán)重級別如何,將@@error的值設(shè)置為msg_id或5000。遠(yuǎn)程過程調(diào)用;;;;;;;SQL Server提供了調(diào)用駐留在不同服務(wù)器上的存儲過程的能力。調(diào)用這樣的存儲過程稱謂遠(yuǎn)程存儲過程調(diào)用。為了使得調(diào)用能從一個(gè)SQL Server轉(zhuǎn)移到另一個(gè)服務(wù)器,兩個(gè)服務(wù)器應(yīng)該相互定義成對方的有效遠(yuǎn)程服務(wù)器。;;;;;;;設(shè)置遠(yuǎn)程服務(wù)器的配置:;;;;;;;· 擴(kuò)展某個(gè)服務(wù)器的組。;;;;;;;· 右擊該服務(wù)器并點(diǎn)擊“Properties”。;;;;;;;· 設(shè)置選項(xiàng)“Allow other SQL Servers to connect remotely to this SQL server via RPC”。;;;;;;;· 設(shè)置“Query time out”選項(xiàng)的值,該值指定從一個(gè)查詢處理返回所能等待的秒數(shù)。缺省值為0,表示允許無限的等待時(shí)間。;;;;;;;· 設(shè)置完成配置選項(xiàng)之后,點(diǎn)擊“OK”。;;;;;;;· 重新啟動服務(wù)器之后,修改將會生效。;;;;;;;· 在另一臺遠(yuǎn)程服務(wù)器上重復(fù)相同的步驟。;;;;;;;調(diào)用遠(yuǎn)程存儲過程需要指明服務(wù)器的名稱,后帶數(shù)據(jù)庫的名稱和擁有者的名稱。下面是在不同的服務(wù)器(Server2)上調(diào)用一個(gè)存儲過程的示例。Exec server2.pubs.dbo.myproc豆豆的后話:;;;;;;;這里只是粗淺的介紹了SQL Server常用的知識,對象也是基于SQL Server數(shù)據(jù)庫編寫應(yīng)用程序的編程人員,而非數(shù)據(jù)庫管理者。但對于應(yīng)用程序編程者,了解數(shù)據(jù)庫的管理也是非常有用的。建議在以后的時(shí)間自行去了解數(shù)據(jù)庫的管理,這對于優(yōu)化程序也是相當(dāng)有用的。————————全文完—————————
標(biāo)簽: Sql Server 數(shù)據(jù)庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品香蕉视频| 国产精品二区影院| 欧美羞羞视频| 欧美国产小视频| 中文一区一区三区高中清不卡免费| 国产欧美一区二区色老头| 亚洲欧美网站在线观看| 日韩欧美在线精品| 亚洲一区二区免费在线观看| 午夜国产一区二区| 制服诱惑一区二区| 91成人精品在线| 鲁大师精品99久久久| 另类专区亚洲| 99在线|亚洲一区二区| 免费黄网站欧美| 国产精品一区二区精品视频观看| 另类欧美日韩国产在线| 久久香蕉网站| 久久天堂av| 亚洲理论在线| 精品入口麻豆88视频| 美女少妇全过程你懂的久久| 夜久久久久久| 国产免费av国片精品草莓男男| 日韩久久一区二区三区| 久久人人88| 欧美日韩午夜电影网| 久久蜜桃精品| 国产亚洲一区| 热久久免费视频| 高潮久久久久久久久久久久久久| 亚洲精品看片| 久久一区二区中文字幕| 久久国产精品色av免费看| 久久人人99| 国产伦久视频在线观看| 青青久久av| 国产一区不卡| 日韩视频久久| 国产不卡一区| 日韩一区二区三区高清在线观看| 图片区亚洲欧美小说区| 国产日韩欧美三级| 亚洲少妇一区| 成人免费网站www网站高清| 欧美精品三级在线| 一区二区国产在线观看| 国产96在线亚洲| 日本va欧美va瓶| 99国产成+人+综合+亚洲欧美| 欧美一区二区三区激情视频| 久久午夜影院| 亚洲综合五月| 99香蕉国产精品偷在线观看| 国产美女久久| 日本成人一区二区| 日韩制服丝袜av| 狠狠色狠狠色综合日日tαg| 成人日韩在线| 成人久久久久| 青青久久av| 午夜久久美女| 99在线|亚洲一区二区| 91精品国产自产在线观看永久∴| 在线观看免费一区二区| 色婷婷精品视频| 在线亚洲自拍| 九九久久婷婷| 亚洲欧美日韩一区在线观看| 亚洲欧美日韩国产| 日本成人在线不卡视频| 一区二区三区午夜视频| 亚洲美女久久| 亚洲免费专区| 亚洲精品自拍| 精品亚洲成人| 国产视频一区免费看| 免费成人性网站| 人人爱人人干婷婷丁香亚洲| 亚洲精品动态| 精品一区二区三区视频在线播放| 国产91在线精品| 亚洲日本网址| 蜜桃视频免费观看一区| 国产精品xxxav免费视频| 久久精品国产999大香线蕉| 欧美少妇精品| 少妇精品久久久一区二区三区| 国产福利资源一区| 亚洲天堂资源| 日韩影院精彩在线| 国产精品久久观看| 麻豆91精品| 欧美日中文字幕| 91久久视频| 日韩激情网站| 国产精品视频一区视频二区| 国产成年精品| 免费视频一区二区| 国产成人精品三级高清久久91 | 久久国产精品色av免费看| 精品国产乱码久久久| 香蕉国产精品| 青青久久av| 国产亚洲观看| 亚州av乱码久久精品蜜桃| 国产日韩在线观看视频| 欧美日韩精品一本二本三本| 国产精品分类| 国产二区精品| 成人午夜网址| 欧美午夜精品一区二区三区电影| 欧美日韩亚洲一区在线观看| 日韩av二区| 国产精久久一区二区| 免费观看久久久4p| 免费不卡中文字幕在线| 欧美+日本+国产+在线a∨观看| 精品72久久久久中文字幕| 欧美日韩视频免费看| 亚洲伊人精品酒店| 黄色在线一区| 亚洲二区视频| 色婷婷色综合| 精品国产美女a久久9999| 欧美一区二区三区久久| 亚洲三区欧美一区国产二区| 欧美日韩四区| 日韩美女精品| 色8久久久久| 日韩成人午夜精品| 国产亚洲高清在线观看| 中文字幕一区二区精品区| 国产乱子精品一区二区在线观看| 亚洲爱爱视频| 久久99久久久精品欧美| 91福利精品在线观看| 久久国产生活片100| 狠狠色综合网| 性一交一乱一区二区洋洋av| 国产精品av一区二区| 在线观看一区| 五月亚洲婷婷 | 在线日韩电影| 伊人精品一区| 久久国产精品久久久久久电车| 91嫩草精品| 久久久夜夜夜| 99久久亚洲精品| 人人精品亚洲| 精品91久久久久| 日韩影片在线观看| 欧美aaaaaa午夜精品| 国产精品伦理久久久久久| 影院欧美亚洲| 国产日韩高清一区二区三区在线 | 在线精品一区二区| 国产日产一区| 91嫩草亚洲精品| 夜夜嗨网站十八久久| 日本色综合中文字幕| 久久九九电影| 久热re这里精品视频在线6| 日本一区二区三区视频在线看 | 国产精品亚洲综合久久| 亚洲精品一区二区妖精| 四虎成人av| 先锋亚洲精品| 久久av偷拍| 免费在线观看一区二区三区| 国产极品一区| 亚洲欧美日韩精品一区二区| 精品一区二区三区中文字幕| 老牛影视一区二区三区| 精品国产亚洲一区二区三区在线| 欧美亚洲一区二区三区| 亚洲精品电影| 亚洲va中文在线播放免费| 日韩精品视频中文字幕| 蜜臀91精品国产高清在线观看 | 午夜日韩在线| 欧美欧美黄在线二区| 精品91久久久久| 久久精品亚洲人成影院 | 亚洲综合在线电影| 国产经典一区| 欧美日本精品| 日韩成人一级| 亚洲制服少妇| 黄色成人精品网站| 亚洲天堂成人| 国产精品精品| 日韩一区二区在线免费| 久久香蕉网站| 中文av在线全新| 久久久人人人| 久久中文字幕av| 一区二区不卡| 一区二区亚洲视频|