觸發器 儲存過程 函式 基本操作(二)

2022-03-28 14:55:16 字數 3008 閱讀 1741

二、

儲存過程

1.建立

語法create proc [ edure ] procedure_name [ ; number ]

[ [ varying ] [ = default ] [ output ]

] [ ,...n ]

[ with

] [ for replication ]

as sql_statement [ ...n ]

eg:無引數

create

proc 

sayhello

asbegin

print

'hello world!'

endexec

sayhello

有引數create

procedure

sayhello1

@username

varchar

(10)

asbegin

print

'hello'

+@username

+'!'

endexec

sayhello1

'baby'

有輸出create

proc

sayhello2

@username

varchar

(10),

@outval

varchar

(10)

output

asbegin

print

'hello '

+@username

+@outval

+'!'

set@outval

='haha'

endexec

sayhello2

'aa'

,'cc'

declare

@rc

int,

@output

varchar

(10);

begin

set@output

='123'

;exec

@rc=

sayhello2

'a',

@output

output

;print

@rc;

print

'output = '

+@output

;end

預設值create

proc

sayhello3

@username

varchar

(10),

@val1

varchar

(20)

='hihao'

,@val2

varchar

(20)

='welcome!'

asbegin

print

@username+''

+@val1+''

+@val2

+'!'

;end

declare

@rcint

;begin

exec

@rc=

sayhello3

'hll'

;print

@rc;

exec

@rc=

sayhello3

'hll2'

,' goodnight '

;print

@rc;

exec

@rc=

sayhello3

'hll3'

,' goodnight '

,' bye'

;print

@rc;

end指定引數名呼叫

declare

@rcint

;begin

exec

@rc=

sayhello3

'qq'

;print

@rc;

exec

@rc=

sayhello3

'qq2'

,@val1

=' goodmorning '

;print

@rc;

exec

@rc=

sayhello3

'qq3'

,@val1

=' goodmorning '

,@val2

=' haha'

;print

@rc;

exec

@rc=

sayhello3

'qq3'

,@val2

=' haha'

;print

@rc;

end返回結果集

create

proc

resultset

asbegin

select

top(4)

*from

teacher

;end

begin

declare

@rc

int;

exec

@rc=

resultset

;print

@rc;

end2.

修改alter

proc

sayhello

asbegin

print

'hello world2!'

endexec

sayhello

3.刪除

drop proc proc_name 

4.檢視

檢視資料庫已有儲存過程

use jxcsoftware

go select * from sysobjects where xtype='p'

檢視單個儲存過程

exec sp_helptext '

儲存過程名

'

觸發器,儲存過程,函式區別

觸發器是特殊的儲存過程,儲存過程需要程式呼叫,而觸發器會自動執行 你所說的函式是自定義函式吧,函式是根據輸入產生輸出,自定義只不過輸入輸出的關係由使用者來定義。在什麼時候用觸發器?要求系統根據某些操作自動完成相關任務,比如,根據買掉的產品的輸入數量自動扣除該產品的庫存量。什麼時候用儲存過程?儲存過程...

Oracle儲存過程,函式,觸發器

一 儲存過程的定義 1 過程 多次編譯 多次執行 過程實現計算器 declare p1 number 1 p2 number 2 sign varchar2 3 begin if sign then syso p1 p2 elsif sign then syso p1 p2 elsif sign t...

觸發器 函式或儲存過程

觸發器是一種特殊型別的儲存過程,主要是通過事件進行觸發被自動呼叫執行的。而普通儲存過程可以通過儲存過程的名稱被呼叫。觸發器對錶進行插入 更新 刪除的時候會自動執行的特殊儲存過程。觸發器一般用在check約束更加複雜的約束上面。觸發器和普通的儲存過程的區別是 觸發器是當對某乙個表進行操作。諸如 upd...