断言、触发器、存储过程
斷言 assertion
設置每一門課程最多有60人選修
create assertion a
check (60 >= all ( select count(*)
from sc
group by cno)
);
drop assertion a;
觸發器 trigger
刪除觸發器
drop tigger a on student
存儲過程
定義一個沒有返回值的存儲過程
create procedure myproc1(name varchar(20))
begin
if name is null or name = ‘’ then
select * from emp;
else
select * from emp where ename like concat("%",name,"%");
end if;
end
drop procedure myproc1
– 調用存儲過程
call myproc1(null);
call myproc1(‘AR’);
call myproc1(‘ART’);
– 定義一個有返回值的存儲過程
– found_rows() MySQL 中定義的一個函數,左右就是返回查詢結果的條數
create procedure mypro2 (name varchar(20), out num int(3))
begin
if name is null or name = ‘’ then
select * from emp;
else
select * from emp where ename like concat("%",name,"%");
end if;
select found_rows() into num;
end
– 調用存儲過程
call mypro2(null,@num)
select @num
call mypro2(“AR”,@num)
select @num
總結
以上是生活随笔為你收集整理的断言、触发器、存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 暴雪游戏特效全开电脑配置?
- 下一篇: 角色管理