亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

實(shí)例學(xué)習(xí)mssql存儲(chǔ)過程分析

 更新時(shí)間:2008年07月03日 23:27:20   作者:  
以下我來具體舉三個(gè)例子說明存儲(chǔ)過程的3個(gè)主要用法吧:
例1:通過存儲(chǔ)過程查詢數(shù)據(jù)庫中的student表
  我們知道在sql中,我們查詢一個(gè)表,可以通過 select * from student  進(jìn)行查詢,那在存儲(chǔ)過程中該怎么寫呢?
  解:
  首先我們打開查詢分析器,(以下舉的例子中的存儲(chǔ)過程都用查詢管理器來創(chuàng)建);  
  然后我們先來創(chuàng)建一個(gè)存儲(chǔ)過程以備等會(huì)使用,(就好像在編程中我們先來編一個(gè)函數(shù)一樣):
  create procedure proc_stu
  as
  select * from student
go
  這樣一個(gè)存儲(chǔ)過程就創(chuàng)建好了,現(xiàn)在我們來執(zhí)行一下
  我們可以在查詢分析器中輸入:execute proc_stu 便可以看到效果
分析一下上面的例子,proc_stu為存儲(chǔ)過程名,select * from student很顯然就是SQL語句了,執(zhí)行的時(shí)候我們只需要execute(執(zhí)行) 存儲(chǔ)過程名,就可以了.其中 , procedure 和 execute 可以分別縮寫為 proc 和 exec 

  以上演示了一個(gè)很簡(jiǎn)單的存儲(chǔ)過程.下面我們來看一下帶參數(shù)的存儲(chǔ)過程
  例2.查詢student表中sno(學(xué)號(hào))為 ' s1 '的記錄
  create proc proc_stu
  @ ssno varchar(10)
as
select * from student where sno = @ ssno
go
這樣一個(gè)帶參數(shù)的存儲(chǔ)過程就OK了,"@ 變量名"是sql 中用來表示用戶自定義的參數(shù)的方法,有些朋友可能還看到過"@@變量名",這個(gè)是系統(tǒng)自帶的.也就是說這個(gè)變量名是系統(tǒng)定義的,不能隨便亂改.這樣分析后,相信大家應(yīng)該看得懂了吧.
  執(zhí)行帶參數(shù)的存儲(chǔ)過程,需要使用如下語句:exec proc_stu s1 也可以不寫參數(shù),不過這樣的話,必須首先在創(chuàng)建存儲(chǔ)過程中加參數(shù)賦值,可以賦Null,否則,系統(tǒng)會(huì)報(bào)錯(cuò).

  最后我們來講一下如何利用存儲(chǔ)過程返回一個(gè)值:
  例3.返回student表中學(xué)生數(shù)
方法一:(使用外部變量output)
  create proc proc_stu
@ num int output  --注明是外部變量
as
select  @ num = count ( * )  from student
go
  現(xiàn)在我們來執(zhí)行下:
  要使用外部變量,我們先要進(jìn)行聲明:declare @ return我們用這個(gè)變量來接收存儲(chǔ)過程中的外部變量
  execute  proc_stu  ,  @ num = @  return output
這樣我們便得到了這個(gè)返回值,現(xiàn)在我們通過如下賦值語句來顯示這個(gè)返回值
select  ' return '  =  @  return

  方法二(使用return):
注:return 只能返回整形數(shù)據(jù)
  create proc proc_stu
  @ num int
as
select  @ num = count ( * )  from student
return  @ num
go
我們來執(zhí)行下:
  declare @ return
exec @ return = proc_stu
select  ' return '  = @ return

相關(guān)文章

最新評(píng)論