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

首頁 > 數據庫 > SQL Server > 正文

實例學習mssql存儲過程分析

2024-08-31 01:00:08
字體:
來源:轉載
供稿:網友
例1:通過存儲過程查詢數據庫中的student表
  我們知道在sql中,我們查詢一個表,可以通過 select * from student  進行查詢,那在存儲過程中該怎么寫呢?
  解:
  首先我們打開查詢分析器,(以下舉的例子中的存儲過程都用查詢管理器來創建);  
  然后我們先來創建一個存儲過程以備等會使用,(就好像在編程中我們先來編一個函數一樣):
  create procedure proc_stu
  as
  select * from student
go
  這樣一個存儲過程就創建好了,現在我們來執行一下
  我們可以在查詢分析器中輸入:execute proc_stu 便可以看到效果
分析一下上面的例子,proc_stu為存儲過程名,select * from student很顯然就是SQL語句了,執行的時候我們只需要execute(執行) 存儲過程名,就可以了.其中 , procedure 和 execute 可以分別縮寫為 proc 和 exec 

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 育儿| 资阳市| 芦溪县| 上高县| 商都县| 昌乐县| 积石山| 海晏县| 盐边县| 安远县| 高尔夫| 郑州市| 原平市| 八宿县| 化德县| 南丰县| 孝感市| 会泽县| 白沙| 泽州县| 东海县| 阜康市| 永济市| 中宁县| 托克逊县| 佛冈县| 漳浦县| 承德县| 泾川县| 清丰县| 嘉祥县| 临城县| 定安县| 莱芜市| 灵川县| 凯里市| 太白县| 安康市| 六盘水市| 宣汉县| 常宁市|