SQL語句(十八) 儲存過程

2021-09-19 15:48:00 字數 3456 閱讀 4904

系統儲存過程

自定義儲存過程

擴充套件儲存過程

--

例1use

sugo

create

procedure

selproc

asselect

*from

scgo

--例2

usesu

gocreate

procedure

countproc

asselect

count(*) as

總數 from

course

go

use

sugo

exec

selproc

exec countproc

--

例1 建立 帶輸入引數 的儲存過程

usesu

gocreate

procedure querybyid @sno

varchar(10)as

select

*from

scwhere sno =

@sno

go--

執行go

execute querybyid '

1513032087

'execute querybyid @sno='

1513032087'--

建立 帶預設引數 的儲存過程

usesu

gocreate

procedure querybyid2 @sno

varchar(10) =

'1513032087'as

select

*from

scwhere sno =

@sno

go--

執行(可以不帶引數, 因為有預設引數)

execute querybyid2

--

例4use

sugo

create

procedure

querybyid3

@sno

varchar(10) =

'1513032087',

@cnocount

int output --

輸出引數,sno學號選的課程數

asselect

@cnocount

=count

(sc.cno)

from

sc, student

where sc.sno = student.sno and sc.sno =

@sno

go--

執行--

必須先宣告!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

declare

@sno

varchar(10) =

'1513032087';

declare

@cnocount

int; --

宣告之後再執行

exec querybyid3 @sno, @cnocount

output

select

'學號為'+

@sno+'

選了'+ltrim(str(@cnocount)) +'門課

'--字串還需要處理一下

go

--

----------管理儲存過程------------------

--修改儲存過程

exec countproc --

查詢go

alter

procedure

countproc

asselect sno, count(*) as

總數from

scgroup

bysno

--檢視屬性

goselect object_definition(object_id('

querybyid

')); --

select object_definition(object_id('儲存過程名'));

exec

sp_help querybyid

exec

sp_helptext querybyid

--刪除操作

godrop

procedure 儲存過程

可以將參賽傳遞過擴充套件儲存過程,擴充套件儲存過程也可以返回結果和狀態

--

檢視系統版本資訊

exec xp_msver

--

建立乙個標量函式,指定學生id值,返回該學生姓名

gocreate

procedure snotosname @sno

varchar(10) =

'1513032087'as

begin

declare

@sname

varchar(40

)select

@sname=(

select

sname

from

student

where sno =

@sno

)return

@sname

end

--

例1go

create

function getsturecordby***(@s***

char(4

))returns

table

return

(

select sno, sname, s***, (sage +

2) as

newage

from

student

where s*** =

@s***)--

執行這個函式

--執行函式

select

*from getsturecordby***('

男')

--

刪除函式

drop

function getsturecordby***

posted @

2017-04-17 02:03

douzujun 閱讀(

...)

編輯收藏

分頁SQL語句 儲存過程

分頁儲存過程一 alter procedure dbo fy startrowindex int,maximumrows int asbegin select from select ugid,uname,row number over order by ugid desc rownum from ...

儲存過程分頁Sql語句

create proc proc page pageindex int,當前頁碼 pagesize int,每頁多少條 tablename nvarchar 50 所要查詢的表名稱 pagecount int output,計算 總共多少頁 recordcount int output 記錄的總數量...

生成Insert語句SQL儲存過程

create procedure dbgendata tablename varchar 100 表名 asdeclare columnname varchar 100 列名 declare typename varchar 100 資料型別 declare columns varchar 8000...