例1:通過儲存過程查詢資料庫中的student表
我們知道在sql中,我們查詢乙個表,可以通過 select * from student 進行查詢,那在儲存過程中該怎麼寫呢?
解: 首先我們開啟查詢分析器,(以下舉的例子中的儲存過程都用查詢管理器來建立);
然後我們先來建立乙個儲存過程以備等會使用,(就好像在程式設計中我們先來編乙個函式一樣):
create procedure proc_stu
as select * from student
go 這樣乙個儲存過程就建立好了,現在我們來執行一下
我們可以在查詢分析器中輸入:execute proc_stu 便可以看到效果
分析一下上面的例子,proc_stu為存www.cppcns.com儲過程名,select * from student很顯然就是sql語句了,執行的時候我們只需要execute(執行) 儲存過程名,就可以了.其中 , procedure 和 execute&程式設計客棧nbsp;可以分別縮寫為 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&nbwww.cppcns.comsp;output
這樣我們便得到了這個返回值,現在我們通過如下賦值語句來顯示這個返回值
select&nbsaxzuwop; ' return ' = @ return
方法二(使用return):
注:return 只能返回整形資料 axzuwo
create proc proc_stu
@ num int
as select @ num = count ( * ) from student
return @ num
go 我們來執行下:
declare @ return
exec @ return = proc_stu
select ' return ' = @ return
本文標題: 例項學習mssql儲存過程分析
本文位址:
例項學習mssql儲存過程分析
例項學習mssql儲存過程分析 例 通過儲存過程查詢資料庫中的student表 我們知道在sql中,我們查詢乙個表,可以通過 select from student 進行查詢,那在儲存過程中該怎麼寫呢?解 首先我們開啟查詢分析器,以下舉的例子中的儲存過程都用查詢管理器來建立 然後我們先來建立乙個儲存...
MSSQL儲存過程
sqlserver 帶有返回值,儲存過程同時新增兩張表,並將第一張表的主鍵插入第二張表當中 2010 07 04 22 00 55 分類 sql 字型大小 訂閱 sql server 中,可以使用 scope identity identity ident current 來取得最後插入記錄的值值,...
mssql 通用儲存過程
create proc commonpagination columns varchar 500 要顯示的列名,用逗號隔開 tablename varchar 100 要查詢的表名 ordercolumnname varchar 100 排序的列名 order varchar 50 排序的方式,公升...