sql 存储过程
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 '趙雷'//執行語句
@sname varchar(100)='趙雷'
as
begin
select S#,Sname,Sage,Ssex from student where sname=@sname
end
go
exec StuProc
@sname varchar(100),
@IsRight int output //傳出參數
as
if exists (select S#,Sname,Sage,Ssex from studentwhere sname=@sname)
set @IsRight =1
else
set @IsRight=0
go
declare @IsRight int
exec StuProc '趙雷' , @IsRight output
select @IsRight
as
declare @sname varchar(100)
set @sname='趙雷'
select S#,Sname,Sage,Ssex from student where sname=@sname
go
exec StuProc
as
declare @sname varchar(100)
set @sname=(select Sname from student where S#=01)
select @sname
go
exec 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 '趙雷'//執行語句
上面是在外部給變量賦值,也可以在內部直接給變量設置默認值
@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 studentwhere sname=@sname)
set @IsRight =1
else
set @IsRight=0
go
declare @IsRight int
exec StuProc '趙雷' , @IsRight output
select @IsRight
以上是全局變量,下面來了解局部變量
局部變量也稱為內部變量。局部變量是在函數內作定義說明的。其作用域僅限于函數內部,離開該函數后再使用這種變量是非法的。
局部變量的定義:必須先用Declare命令定以后才可以使用,declare{@變量名 數據類型}
局部變量的賦值方法:set{@變量名=表達式}或者select{@變量名=表達式}
局部變量的顯示:select @變量名
as
declare @sname varchar(100)
set @sname='趙雷'
select S#,Sname,Sage,Ssex from student where sname=@sname
go
exec StuProc
那如果是要把局部變量的數據顯示出來怎么辦呢?
create proc StuProcas
declare @sname varchar(100)
set @sname=(select Sname from student where S#=01)
select @sname
go
exec StuProc
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,并在文章頁面明顯位置以超鏈接形式注明出處,否則保留追究法律責任的權利。
創建這樣的存儲過程有什么用呢,不是只能在數據中查看賽。
我們在做web或者winform 程序,假設需要個登錄,好,我們可以調用用這個存儲過程來登錄,根據傳入的參數,如果查詢出來有記錄,那么這條記錄在數據庫中存在,表示登錄成功,否則失敗。
這樣做的目的更加安全,可以防止sql注入。
總結
- 上一篇: C++下简单的socket编程
- 下一篇: php下使用 $_FILE