SQL Server之預存程序基礎知識
什麼是預存程序呢?
預存程序就是作為可執行物件存放在資料庫中的一個或多個SQL指令。
通俗來講:預存程序其實就是能完成一定操作的一組SQL語句。
那為什麼要用預存程序呢?
1.預存程序只在創造時進行編譯,以後每次執行預存程序都不需再重新編譯,而一般SQL語句每執行一次就編譯一次,所以使用預存程序可提高資料庫執行速度。
2.當對資料庫進行複雜操作時,可將此複雜操作用預存程序封裝起來與資料庫提供的事務處理結合一起使用。
3.預存程序可以重複使用,可減少資料庫開發人員的工作量。
4.安全性高,可設定只有某些使用者才具有對指定預存程序的使用權
那預存程序怎麼用呢?
以下透過表格Student 來了解預存程序,因為是要了解預存程序的簡單用法,所以所有範例都很簡單。
無參數存儲過程:
選出Student表中的所有信息,
create proc StuProc as //此处 as 不可以省略不写 begin //begin 和 end 是一对,不可以只写其中一个,但可以都不写 select S#,Sname,Sage,Ssex from student end go
登入後複製
有參數存儲過程:
全局變量
全局變量也稱為外部變量,是在函數的外部定義的,它的
全域變量
全域變量
全局變量也稱為外部變量,是在函數的外部定義的,它的作用域為從變數定義處開始,到本程式檔案的末端。選出指定姓名的學生資訊:
create proc StuProc @sname varchar(100) as begin select S#,Sname,Sage,Ssex from student where sname=@sname end go exec StuProc '赵雷' //执行语句
登入後複製
上面是在外部給變數賦值,也可以在內部直接給變數設定預設值
create proc StuProc @sname varchar(100)='赵雷' as begin select S#,Sname,Sage,Ssex from student where sname=@sname end go exec StuProc
登入後複製
也可以把變數的內容輸出,使用output
create proc StuProc @sname varchar(100), @IsRight int output //传出参数 as if exists (select S#,Sname,Sage,Ssex from student where sname=@sname) set @IsRight =1 else set @IsRight=0 go declare @IsRight int exec StuProc '赵雷' , @IsRight output select @IsRight
登入後複製
以上是全域變數,以下來了解局部變數局部變數也稱為內部變數。局部變數是在函數內作定義說明的。其作用域僅限於函數內部,離開函數後再使用此變數是非法的。
局部變數的定義:必須先用Declare指令定以後才可以使用,declare{@變數名稱資料型別}
局部變數的賦值方法:set{@變數名稱=表達式}或select{@變數名稱=表達式}局部變數的顯示:select @變數名稱
create proc StuProc as declare @sname varchar(100) set @sname='赵雷' select S#,Sname,Sage,Ssex from student where sname=@sname go exec StuProc
登入後複製
create proc StuProc as declare @sname varchar(100) set @sname=(select Sname from student where S#=01) select @sname go exec StuProc
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)