mysql创建视图和存储过程,变量

创建视图

sql>create view 视图名 as select语句;

修改视图并添加别名

sql>create or replace view empvu10 (employee_number,employe_name,job_title)
as select empno,ename,job
from emp
where deptno=10;

删除视图

drop view 视图名

创建存储过程

create procedure 过程名(in n varchar(20),out m int)
begin
  select count(sal) into m from emp where name=n;
end;

调用

call 过程名(n)

定义变量

用户变量:使用set或select直接赋值,变量名以@开头例如:set @var=1; select @var:=5;、

定义:基于会话变量实现的, 可以暂存值, 并传递给同一连接里的下一条sql使用的变量.当客户端连接退出时,变量会被释放

用户变量:以"@"开始,形式为"@变量名"

注意:用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。也叫会话变量

赋值

set  @test=1;  
-- 或者 
set @test:=1;
-- 或者
select @test,@tt:=2;

注意:如果使用没有初始化的变量,其值是NULL。使用set赋值时,使用的是“=”或者":=",使用select赋值时必须使用的是“:="


局部变量:declare声明,只能在存储过程中使用。

declare var1 int default 0;
declare v1,v2 varchar(20);

赋值

set语句进行赋值

set i=500;
-- 或者
set i :=500;

declare必须在begin...end语句块中,必须在最前面

为了和oracle赋值相匹配,尽量都使用 ":=" 来赋值

从其他表中拷贝记录

SQL>insert into managers(id,name,salary,hiredate)
select empno,ename,sal,hiredate from emp where job='manager';

可插入多行,插入了3行数据

猜你喜欢

转载自www.cnblogs.com/steven223-z/p/11537906.html