视图,存储过程,函数

视图

--  创建
CREATE VIEW type2 AS SELECT
* 
FROM
	`area` 
WHERE
	`area_type` = '2';
	
-- 展示创建语句
SHOW CREATE VIEW type2;

-- 删除
DROP VIEW type2;

-- 创建或替换
CREATE OR REPLACE VIEW type2 AS SELECT
* 
FROM
	`area` 
WHERE
	`area_type` = '1';
	
-- 查询
SELECT * FROM type2;

存储过程

-- 将分隔符换为$$
delimiter $$
-- 创建存储过程
CREATE PROCEDURE demo ( IN i INT )
-- 开始
BEGIN
-- 声明变量
	DECLARE j INT UNSIGNED DEFAULT 1;
#	SET i = 1;
	SELECT IF(i = j, '相等', '不等');
-- 结束
END $$
-- 分隔符换回;
delimiter;
-- 设置变量
SET @i = 1;
-- 调用
CALL demo(@i);


-- 测试OUT
delimiter $$
CREATE PROCEDURE demo_out ( OUT i INT ) 
BEGIN
	SELECT i;
	
	SET i = 0;
	
	SELECT i;
	
END $$
delimiter;

SET @i = 1;
CALL demo_out ( @i );
SELECT @i;
#因为out是向调用者输出参数,不接收输入的参数,所以存储过程里的out变量为null
#调用了out_param存储过程,输出参数,改变了out变量的值
posted @ 2021-09-23 14:27  Zzzy君不见  阅读(32)  评论(0)    收藏  举报