有無引數之儲存過程

2022-07-27 01:09:10 字數 1293 閱讀 8619

一、 建立帶引數的儲存過程

建立帶引數的儲存過程首先要在儲存過程中宣告該引數,每個儲存過程引數都必須用唯一的名稱進行定義。與t-sql變數相同,引數名必須以@為字首,並且遵從識別符號規則。當使用者不提供該引數的值時可以使用乙個預設值來代替。

1.不帶預設值的引數

建立乙個引數不帶預設值的儲存過程,在呼叫該儲存過程時,必須對儲存過程中的所有引數進行賦值,如果有乙個引數沒有賦值,則無法呼叫該儲存過程。例如:

[sql]

use db_student

--建立儲存過程

create procedure proc_group

@課程類別 varchar(20), --定義引數

@學分 int

asselect * from course

where 課程類別=@課程類別 and 學分》@學分

執行不帶引數的儲存過程就是:

[sql]

use db_student

exec proc_group '歌曲',8

如果不按順序賦值可以寫成:

[sql]

use db_student

exec proc_group @學分=8,@課程類別=『籃球課』

2.帶預設值的引數

在sql中我們可以對欄位進行預設值的約束,在儲存過程中也可以建立使用預設值的引數。只要在引數的定義之後加上等號,並在等號後面寫出預設值即可。

[sql]

--建立儲存過程

use db_student

create procedure proc_group

@課程類別 varchar(20)='體育課',

@學分 int=6

asselect * from course where 課程類別=@課程類別 and 學分》@學分

執行引數帶預設值的儲存過程

[sql]

use db_student

exec proc_group @學分=8

3.帶返回引數的儲存過程

建立儲存過程時,可以用output引數來建立乙個帶返回值的儲存過程,例如:

[sql]

@a int output

如果建立帶返回引數的儲存過程proc_group,那麼sql語句如下:

[sql]

--建立帶返回值的儲存過程

create procedure proc_group

@課程類別 carchar(20),

@平均學分 int output --設定帶返回值的引數

as

帶有無引數的儲存過程

sql中呼叫儲存過程語句 call procedure name 注 呼叫時 是不可少的,無論是有引數還是無引數.定義對資料庫儲存過程的呼叫時 1 無引數儲存過程 2 僅有輸入引數的儲存過程 這裡?表示輸入引數,建立儲存過程時用in表示輸入引數 3 僅有輸出引數的儲存過程 這裡的?表示輸出引數,建立...

儲存過程帶in引數

set ansi nulls on set quoted identifier on goalter procedure dbo testlist userid nvarchar 4000 asdeclare search array nvarchar 100 begin set search ar...

查詢引數儲存過程

set ansi nulls on set quoted identifier on go 名 稱 sql 生成器 功 能 生成單錶的insert,update,語句,變數定義語句 程式預設第乙個列為主鍵 減少開發者輸入的時間 exec getsql ord tdcontract 3 alter p...