/* 创建存储过程 */ drop procedure if exists backup; create procedure backup(in eno int) begin declare tex int default 0; select 1 into tex from information_schema.tables where table_name='emp_copy'; if tex<>1 then create table emp_copy select * from emp where 1=0; end if; insert into emp_copy select * from emp where empno=eno; delete from emp where empno=eno; end; /* 调用存储过程 */ /* call backup(7369); */
时间: 2024-04-05 13:30:17 浏览: 64
第1关:Create/Alter/Drop 数据库 创建数据库的语法为: DATABASE-SCHEMA:用于限定创建数据
这段代码是 MySQL 存储过程的示例,分为两部分:
第一部分是创建一个名为 backup 的存储过程,该存储过程接受一个整型参数 eno。在存储过程内部,首先声明了一个名为 tex 的整型变量,并将其默认值设为 0。然后使用 select 语句查询信息模式中的表,判断是否存在名为 emp_copy 的表,如果不存在,则创建该表。接着使用 insert 语句将 emp 表中 empno 等于 eno 的记录插入到 emp_copy 表中,并使用 delete 语句删除 emp 表中 empno 等于 eno 的记录。
第二部分是调用 backup 存储过程的代码,该代码使用 call 语句调用 backup 存储过程,并传入参数 7369,即删除 emp 表中 empno 等于 7369 的记录,并将该记录备份到 emp_copy 表中。
需要注意的是,如果要执行调用存储过程的代码,需要将最后一行的注释符号(/* call backup(7369); */)去掉。
阅读全文