儲存過程幾種寫法

2021-04-01 04:38:39 字數 1748 閱讀 9451

1)建立使用引數的儲存過程

create proc au_info @lastname varchar(40),@firstname varchar(20)

asselect  au_lname,au_fname,title,pub_name

from ...

where au_fname=@firstname and au_lname=@lastname

goexecute  au_info  ringer,anne

2)建立使用引數預設值的儲存過程,該儲存過程在沒有輸入引數的情況下將預設值得到的結果輸出

create proc au_info @lastname varchar(40)='ringer',@firstname varchar(20)='anne'

asselect  au_lname,au_fname,title,pub_name

from ...

where au_fname=@firstname and au_lname=@lastname

goexecute  au_info

3)用顯式值替代引數預設值的儲存過程

create proc showind @table varchar(30) ='titles'

as select table_name=sysobjects.name,

index_name=sysindexes.name,index_id=indid

from sysindexes inner join sysobjects on sysobjects.id=sysindexes.id

where sysobjects.name=@table

execute showind authors

4)使用引數預設值null來建立儲存過程,在這種情況下如果沒有提供引數值,sql將不會出錯顯示

create proc showind @table varchar(30) =null

as if @table is null

print '請輸入引數'

else

select table_name=sysobjects.name,

index_name=sysindexes.name,index_id=indid

from sysindexs inner join sysobjects on sysobjects.id=sysindexes.id

where sysobjects.name=@table

execute showind authors

5)使用包含萬用字元的引數預設值建立儲存過程

萬用字元包括(% , _ , [ ]和 [^]),注意需要用like關鍵字

create proc au_info @lastname varchar(40)='r%' , @firstname varchar(20)='%'  as

select au_lname,au_fname,title,pub_name

from authors inner join titleauthor on authors.au_id=titleauthor.au_id

join titles on titleauthor.title_id=titles.title_id

join publishers on titles.pub_id=publishers.pub_id

where au_fname like @firstname

and au_lname like @lastname

go

儲存過程寫法

引用 儲存過程呼叫 drop procedure if exists pro rep shadow rs delimiter rep shadow rs 用來處理資訊的增加,更新和刪除 每次只更新上次以來沒有做過的資料 根據不同的標誌位 需要一個輸出的引數,如果返回為0,則呼叫失敗,事務回滾 如果返...

儲存過程寫法

引用 儲存過程呼叫 drop procedure if exists pro rep shadow rs delimiter rep shadow rs 用來處理資訊的增加,更新和刪除 每次只更新上次以來沒有做過的資料 根據不同的標誌位 需要一個輸出的引數,如果返回為0,則呼叫失敗,事務回滾 如果返...

儲存過程寫法

建立儲存過程執行刪除操作 alter procedure dbo ad preempted timer asdeclare pid varchar 32 declare times date declare nowtime date declare difftime int 定義一個遊標 decla...

MySql儲存過程寫法

mysql儲存過程的單行註釋用 如果使用 則必須在後面使用至少一個空格,否則儲存過程編譯不通過 create procedure addwebgameadmin in gameid int begin declare gametitle varchar 100 character set utf8 ...

儲存過程 函式寫法

函式 create or replace function f productcard str in in varchar2 分類欄位 return varchar2 is str list varchar2 4000 default null 連線後字串 str varchar2 20 defau...