服装网站建设优点有哪些,微博营销的优势和劣势,企业知识库wordpress,微商网站模板1.视图
视图就是一张基于查询的虚拟表#xff0c;里面定义的其实就是普通的SQL语句。如果一条复杂查询的SQL语句我们频繁的使用#xff0c;就可以定义视图#xff0c;方便操作。创建语法如下#xff1a; CREATE VIEW 视图名 AS SELECT语句 2.存储过程
存…1.视图
视图就是一张基于查询的虚拟表里面定义的其实就是普通的SQL语句。如果一条复杂查询的SQL语句我们频繁的使用就可以定义视图方便操作。创建语法如下 CREATE VIEW 视图名 AS SELECT语句 2.存储过程
存储过程里面定义的SQL语句集合可以进行一些逻辑处理。比如我们保存数据时如果数据库里面有则不插入如果没有则进行插入。这时就可以定义一个存储过程来完成整个逻辑功能。
IN表示输入参数OUT表示输出参数DECLARE表示定义变量set表示改变值。
CREATE PROCEDURE saveUser(IN p_account VARCHAR(20),IN p_sex CHAR(1),OUT res_mark
INT)
BEGIN
DECLARE v_count INT DEFAULT 0;
SELECT COUNT(*) INTO v_count FROM t_user WHERE account p_account;
IF v_count 0 THEN
INSERT INTO t_user(account,sex)VALUES(p_account,p_sex);
SET res_mark 0;
ELSE
SET res_mark 1;
END IF;
3.函数
函数必须有返回值里面可以定义流程控制语句。
CREATE FUNCTION checkUserType(p_type INT) RETURNS VARCHAR(4)
BEGIN
IF p_type 0 THEN
RETURN 管理员;
ELSE
RETURN 业务用户;
END IF;
4.触发器 触发器不需要直接调用而是在执行了增删改之后自动执行的存储过程。比如我们需要在删除用户前需要现删除用户所管理的菜单关系。
CREATE TRIGGER delete_user_menu BEFORE DELETE //表示在删除用户前触发
ON user //针对的是用户表
FOR EACH ROW
BEGIN
DELETE FROM user_menu WHERE user_id old.id//old表示要删除的用户数据
insert只会有new 代表着要插入的新记录delete只会有old 代表着要删除的记录update由于执行的是先删除旧的记录再插入新的记录因此new和old都会有且含义上与上面的相同。