mysql从5.0版本开始支持存储过程.存储函数.触发器和事件功能的实现. 我们以一本书中的例题为例:创建xscj数据库的存储过程,判断两个输入的参数哪个更大.并调用该存储过程. (1)调用 首先,创建存储过程(procedure),名为xscj.compar delimiter $$ create procedure xscj.compar () ) begin if k1>k2 then set k3='大于'; elseif k1=k2 then set k3='等于'; else set
-- 创建存储过程DELIMITER //CREATE PROCEDURE del_data()BEGIN DELETE FROM t_route_status WHERE route_date < DATE_SUB(CURDATE(),INTERVAL 7 DAY);END ; -- 创建事件 CREATE event del_event ON SCHEDULE EVERY 1 DAY STARTS '2019-03-08 06:00:00' ON COMPLETION PRESERVE EN
10-9. 在多对多关系中为插入和删除使用存储过程 问题 想要在一个无载荷的多对多关系中使用存储过程(存储过程只影响关系的连接表) 解决方案 假设有一个多对多关系的作者( Author)表和书籍( Book)表. 用连接表AuthorBook来做多对多关系,如 Figure 10-11.所示: Figure 10-11. A payload-free, many-to-many relationship between an Author and a Book 当把表生成模型,那么模型就如Fig
在SSMS里批量删除表.存储过程等各种对象 以前想找批量删除表或者存储过程的方法,原来SSMS的GUI界面也可以完成 请看下图,因为这次出差的时候要删除所有的存储过程,然后重建这些存储过程 而表.函数等对象都可以这样删除,Ctrl+A全选,然后按住Ctrl,不选择系统存储过程,右键->删除 就这样就可以啦o(∩_∩)o 如果要使用TSQL脚本来删除一个数据库里的所有存储过程,可以这样做 USE [pratice] --要删除所有存储过程的数据库 GO SELECT * FROM sys.proc
declare proccur cursor for select [name] from sysobjects where type='P' declare @procname varchar() open proccur fetch next from proccur into @procname ) begin --exec('drop proc ' + @procname) --本句被注释,使用时请取消 print(@procname + '