MySQL複習08 級聯刪除置空 儲存過程和函式

2021-10-09 11:24:35 字數 2166 閱讀 3820

3. 函式

// 設定maintable與從表foreigntable級聯刪除。

alter

table maintable

addforeign

key(fk)

references foreigntable(id)

ondelete

cascade

;// 設定maintable與從表foreigntable級聯置空。

alter

table maintable

addforeign

key(fk)

references foreigntable(id)

ondelete

setnull

;

// 宣告使用者變數並賦值

set@count=0

;// 區域性變數只能在begin..end語句使用

declare m int

default

1;

create

procedure procname(引數)

begin..

.end

// 乙個簡單的實驗:使用儲存過程插入資料。

delimiter $

create

procedure mypro(

)begin

insert

into stuinfo(stuname,

`password`

)values

('jhon'

,'adssdafexg1251'),

('smis'

,'asdfdcccg425');

end $

call mypro(

) $delimiter

;

引數型別:in

,out

,inout

// 刪除儲存過程

drop

procedure 過程名;

# 建立儲存過程實現傳入日期轉化成固定格式輸出。

# dateformat或str_to_date,參考

# 此處將各種字串轉換成各種格式。

// 2019|06|07

delimiter $

create

procedure mystrtodate(

in mystr varchar(20

),in modle varchar(20

),out mydate varchar(20

))begin

declare m datetime

default

null

;# 區域性變數,可改用使用者變數。

select str_to_date(mystr,modle)

into m;

select date_format(m,

'%y|%m|%d'

)into mydate;

end $

select

@mydate

;# 使用者變數

call mystrtodate(

'06/07/2019'

,'%m/%d/%y'

,@mydate);

select

@mydate

;

create

function myfun(引數)

returns 型別

begin..

.end

# 簡單使用:返回公司員工人數。

create

function myfun(

)returns

intbegin

declare cou int

default0;

select

count(*

)into cou

from employees;

return c;

end $

# 刪除函式

drop

function myfun;

3 級聯刪除

authors表是主表 books表是子表 預設情況下,當使用datacontext.dbset.remove 刪除authors時,與之相關的books也會一起刪除掉.using var context new bookstore 不過可以使用willcascadeondelete false 來...

mysql中的級聯刪除和級聯置空和級聯更新

我就直接po 了,或者看我這篇 並茂版 mysql中的級聯刪除和級聯置空 create table nativeplace id int primary key auto increment comment 編號 province varchar 30 comment 省份 city varchar...

SqlServer2000級聯刪除

1.建立四個表 create table client c id int identity 1,1 c name nvarchar 255 unique,c pass nvarchar 255 c bit,c mail varchar 255 c qq varchar 255 primary key...