日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server存储过程实例

發(fā)布時間:2023/12/14 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server存储过程实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SQL 存儲過程實(shí)例

存儲過程是由過程化SQL語句書寫的過程,這個過程經(jīng)編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務(wù)器中。類似于函數(shù),使用時只需調(diào)用即可。

使用存儲過程有以下優(yōu)點(diǎn):

1、實(shí)現(xiàn)了SQL語句的可復(fù)用性

2、存儲過程降低了客戶機(jī)和服務(wù)器之間的通信量

3、方便實(shí)施企業(yè)規(guī)劃


存儲過程的創(chuàng)建一般格式

GO

CREATE PROC proc_name(參數(shù)表)

AS

SQL語句

GO

這里使用之前創(chuàng)建好的學(xué)生數(shù)據(jù)庫,在該數(shù)據(jù)庫的表上創(chuàng)建存儲過程


①創(chuàng)建一個帶輸入?yún)?shù)的存儲過程proc_student,其中的輸入?yún)?shù)用于接收課程號,默認(rèn)值為“C601”,然后在SC表中查詢該課成績不及格的學(xué)生學(xué)號,
?接著在student表中查找這些學(xué)生的基本信息,包括學(xué)號、姓名、性別和所在系信息,最后輸出。
? USE STUDENTIF OBJECT_ID ('proc_student','P') IS NOT NULL /*如果存在該存儲過程,則刪除之*/DROP PROCEDURE proc_student;GO /*存儲過程必須從批處理的第一條開始*/ CREATE PROC proc_student(@cno char(4)) AS BEGINSET NOCOUNT ON; /*阻止在結(jié)果集中返回可顯示受 Transact-SQL 語句或存儲過程影響的行計(jì)數(shù)的消息*/SELECT * FROM Student WHERE Sno IN(SELECT sno FROM SC WHERE Cno=@cno AND Grade<60) END GO EXEC proc_student'C601' /*執(zhí)行該存儲過程*/



②創(chuàng)建一個為student表添加學(xué)生記錄的存儲過程Proc_AddStudent。

IF OBJECT_ID ('Proc_AddStudent','P') IS NOT NULLDROP PROCEDURE Proc_AddStudent; GO CREATE PROC Proc_AddStudent(@Sno char(4),@SName nvarchar(10),@Sex char(2),@Age int,@SNative varchar(20),@Department varchar(10),@SAddress varchar(20)) AS INSERT INTO Student VALUES(@Sno,@SName,@Sex,@Age,@SNative,@Department,@SAddress) GO EXEC Proc_AddStudent '1802','張華','男',22,'上海','數(shù)計(jì)系',NULL; SELECT *FROM Student

③創(chuàng)建一個存儲過程Proc_DelStudent刪除Student表中指定學(xué)號的記錄。

IF OBJECT_ID('Proc_DelStudent','P') IS NOT NULLDROP PROCEDURE Proc_DelStudent; SELECT *FROM Student WHERE Sno='1802'GOCREATE PROC Proc_DelStudent(@Sno char(4))ASDELETE FROM StudentWHERE Sno=@Sno GO EXEC Proc_DelStudent '1802' --執(zhí)行刪除學(xué)號為1802的學(xué)生 事務(wù) SELECT *FROM Student WHERE Sno='1802'

在查詢命令的窗口中輸入DROP PROCEDURE語句,刪除存儲過程。

DROP PROCEDURE proc_student
DROP PROCEDURE Proc_AddStudent
DROP PROCEDURE Proc_DelStudent

總結(jié)

以上是生活随笔為你收集整理的SQL Server存储过程实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。