MS SQL Server儲存過程

2021-09-06 14:04:35 字數 2404 閱讀 7748

1、create、alter和drop

create

procedure

usp_categorylist

asselect

categoryid,categoryname

from category

在建立儲存過程時,應該使用一致的規範來命名儲存過程,而不要使用sp_,使用sp_只會導致名稱衝突和混亂。可以使用usp_作為儲存過程名的字首,但即使不使用任何字首,也比使用sp_好。

2、返回記錄集

exec usp_categorylist

3、編譯儲存過程

exec sp_recompile usp_categorylist

4、檢視儲存過程

sp_helptext usp_categorylist

5、加密儲存過程

create

procedure

usp_categorylist

with

encryption

asselect

categoryid,categoryname

from category

6、輸入引數

create

procedure

usp_categorylist

(

@categoryid

int)

asselect

categoryid,categoryname

from

category

where categoryid =

@categoryid

exec usp_categorylist 1

exec

storedprocedure

@parameter1=n,

@parameter2='

n'

7、引數的預設值

呼叫儲存過程時,必須為所有引數指定值,除非建立引數有預設值。

create

procedure

storedprocedure

(

@variable datatype =

defaultvalue

)

8、輸出引數

使用output定義輸出引數,在不需要返回整個記錄集時,輸出引數非常適合用於返回單個資料單元。返回單行資料時,使用輸出引數比使用記錄集快得多。

create

procedure

usp_categorylist

(

@categoryid

int,

@categoryname

varchar(50

) output)as

select

@categoryname

=categoryname

from

category

where categoryid =

@categoryid

declare

@categoryname

varchar(50

)exec usp_categorylist @categoryid

=1, @categoryname

output

print

@categoryname

9、return關鍵字

return關鍵字無條件地終止儲存過程的執行,並向呼叫它的批處理或客戶返回乙個值。

使用返回值來指出執行是失敗還是成功,而不是使用它返回實際資料。如果只需要返回乙個值而不是這個資料集,可以使用輸出引數。

exec

@intlocalvariable

= storedprocedurename

create

procedure

usp_isitok

(

@okvarchar(10

) )as

if@ok='

ok'return

0else

return

-100

declare

@returncode

intexec

@returncode

= usp_isitok 'ok'

print

@returncode

exec

@returncode

= usp_isitok '

notok

'print

@returncode

MSSQLSERVER 儲存過程

系統儲存過程 列出sql server例項中的資料庫 sp databases 返回sql server 資料庫閘道器或基礎資料來源的特性名和匹配值的列表 sp server info 返回當前環境中的儲存過程列表 sp stored procedures 返回當前環境下可查詢的物件的列表 任何可出...

MS SQLSERVER通用儲存過程分頁

最近在面試的時候,遇到個奇葩的禿頂老頭面試官。問 寫過儲存過程分頁嗎?答 沒寫過,但是我知道分頁儲存的原理,我自己也寫過,只是在工作中沒寫過。問 那你這麼多年工作中就沒寫過嗎?答 的確沒寫過,因為專案資料量都特別小。然後,這奇葩就起身就要走人了,連個招呼都沒有。想我面試了這麼多公司,這種奇葩面試官,...

MS SQL Server儲存過程的優點有哪些呢

1.儲存過程只在創造時進行編譯即可,以後每次執行儲存過程都不需再重新編譯,而我們通常使用的sql語句每執行一次就編譯一次,所以使用儲存過程可提高資料庫執行速度。2.經常會遇到複雜的業務邏輯和對資料庫的操作,這個時候就會用sp來封裝資料庫操作。當對資料庫進行複雜操作時 如對多個表進行update,in...