国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

SQL Server 7.0 入門(mén)(六)

2024-08-31 00:48:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
中國(guó)最大的web開(kāi)發(fā)資源網(wǎng)站及技術(shù)社區(qū),
建立存儲(chǔ)過(guò)程體
       存儲(chǔ)過(guò)程邏輯駐留在存儲(chǔ)過(guò)程體中。一個(gè)存儲(chǔ)過(guò)程體中可以包含任意條transact sql語(yǔ)句。下面的transact sql語(yǔ)句不能在任何存儲(chǔ)過(guò)程體中出現(xiàn):
       · create default
       · create trigger
       · create procedure
       · create view
       · create rule
1、  局部變量
局部變量保持存儲(chǔ)過(guò)程中間值。當(dāng)一個(gè)值在存儲(chǔ)過(guò)程中需要多次,或者某個(gè)查詢的結(jié)果需要在隨后的查詢中使用時(shí),需要使用局部變量。在這些情形下,值被存儲(chǔ)在局部變量中,并可用于將來(lái)的使用。本地變量的名稱以“@”符號(hào)開(kāi)頭。變量的名稱可以包含字符和數(shù)值。局部變量在使用前需要進(jìn)行類型聲明。對(duì)局部變量進(jìn)行賦值需要使用select語(yǔ)句。select可以從一個(gè)表中檢索出值并將其賦給某個(gè)變量,也可以給變量賦一個(gè)常量值。一個(gè)簡(jiǎn)單的select語(yǔ)句可以給多個(gè)局部變量賦值。
例如:
declare @var1 integer, @var2 varchar(20)
select @var1 = 32,
           @var2 = ‘myage’
如果從select查詢中沒(méi)有返回任何數(shù)據(jù),而select又要將數(shù)據(jù)的值賦予局部變量,則該局部變量的值將不會(huì)發(fā)生改變。
2、  條件詞句
存儲(chǔ)過(guò)程中提供的條件語(yǔ)句包括:
· if……else語(yǔ)句。
· while語(yǔ)句。
1)  if……else語(yǔ)句。在該語(yǔ)句中包含三個(gè)部分:布爾運(yùn)算表達(dá)式,if語(yǔ)句塊和else語(yǔ)句塊。語(yǔ)法如下:
if (boolen_expr)
  {statements}
else
  {statements}
在if或else語(yǔ)句塊中可以有多條語(yǔ)句,這種情形下,需要語(yǔ)句begin和end來(lái)標(biāo)志語(yǔ)句塊。
2)  while語(yǔ)句。while語(yǔ)句用于處理直到某個(gè)條件為true前重復(fù)執(zhí)行的語(yǔ)句。語(yǔ)法如下:
while (boolen_expr)
  begin
  statement(s)
break
statement(s)
continue
              end
            begin和end語(yǔ)句標(biāo)志循環(huán)體。break語(yǔ)句結(jié)束循環(huán)的執(zhí)行(即走到end語(yǔ)句之后)。continue語(yǔ)句將控制處理過(guò)程回到循環(huán)的開(kāi)始處(即begin語(yǔ)句的右邊)。
            注意:如果有兩個(gè)或多個(gè)while循環(huán)被嵌套,則內(nèi)部的break退出的是次外層的循環(huán)。內(nèi)部循環(huán)結(jié)束之后的所有語(yǔ)句在內(nèi)部循環(huán)執(zhí)行之后才能繼續(xù)執(zhí)行。

3、  goto語(yǔ)句
在存儲(chǔ)過(guò)程的執(zhí)行中,語(yǔ)句是順序執(zhí)行的。goto語(yǔ)句則是用來(lái)打破這種語(yǔ)句執(zhí)行的順序,它立即跳到某條語(yǔ)句上執(zhí)行,而這條語(yǔ)句往往不緊跟在前一語(yǔ)句之后。goto語(yǔ)句與一個(gè)標(biāo)志(label)一起使用,該標(biāo)志用來(lái)標(biāo)識(shí)一條語(yǔ)句。
例如:
use pubs
go

declare @num int
select
if @num = 0
       goto err
else
       begin
       print ‘a(chǎn)uthors found’
       select * from authors
       goto last
       end
err: print ‘no authors found’
last: print ‘finish execution’
go
4、  return語(yǔ)句
return語(yǔ)句用于無(wú)條件的退出存儲(chǔ)過(guò)程。return之后的任何語(yǔ)句都不再執(zhí)行。return語(yǔ)句可以給調(diào)用語(yǔ)句返回一個(gè)值,但不能返回null值。sql server經(jīng)常為存儲(chǔ)過(guò)程返回一個(gè)狀態(tài)值。如果成功地執(zhí)行,則返回一個(gè)0,如果出現(xiàn)了錯(cuò)誤,則返回一個(gè)為負(fù)數(shù)的錯(cuò)誤碼。
存儲(chǔ)過(guò)程返回的錯(cuò)誤碼

說(shuō)        明

說(shuō)        明

0
過(guò)程執(zhí)行成功
-8
發(fā)生了非致命的內(nèi)部問(wèn)題

-1
漏掉了對(duì)象
-9
達(dá)到了系統(tǒng)極限

-2
發(fā)生了數(shù)據(jù)類型錯(cuò)誤
-10
發(fā)生了致命的內(nèi)部不一致錯(cuò)誤

-3
該處理被選擇成了死鎖的犧牲者
-11
發(fā)生了致命的內(nèi)部不一致錯(cuò)誤

-4
發(fā)生了權(quán)限錯(cuò)誤
-12
表或索引被破壞

-5
發(fā)生了語(yǔ)法錯(cuò)誤
-13
數(shù)據(jù)庫(kù)被破壞

-6
發(fā)生了混雜的用戶錯(cuò)誤
-14
發(fā)生了硬件錯(cuò)誤

-7
資源錯(cuò)誤,如空間不夠等


5、  使用游標(biāo)(cursor)在需要一行一行處理時(shí),游標(biāo)十分有用。游標(biāo)可以打開(kāi)一個(gè)結(jié)果集合(按照指定的標(biāo)準(zhǔn)選擇的行),并提供在結(jié)果集中一行一行處理的功能。基于游標(biāo)的類型,可以對(duì)其進(jìn)行回滾或者前進(jìn)。在使用游標(biāo)時(shí)需要5個(gè)步驟:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 铜梁县| 隆子县| 墨竹工卡县| 高平市| 湖南省| 阜南县| 晋江市| 柞水县| 玉田县| 石狮市| 惠安县| 松江区| 巴彦淖尔市| 旬阳县| 旺苍县| 固镇县| 沈阳市| 鄂托克前旗| 彭州市| 宿松县| 宜章县| 固安县| 揭西县| 延庆县| 台北市| 汝州市| 东平县| 英德市| 兴化市| 突泉县| 商南县| 封丘县| 大厂| 兴文县| 怀仁县| 那曲县| 平乡县| 武冈市| 墨脱县| 定边县| 布拖县|