2 xiaotudou798 xiaotudou798 于 2015.05.29 11:53 提问

那个存储过程和触发器是要怎放的呢

那个存储过程和触发器是要怎放的呢,我放在数据库里执行的但是数据没插入啊

4个回答

caozhy
caozhy   Ds   Rxr 2015.05.29 11:56

用的是什么数据库,如果是sql server,在ssms中打开你的数据库,在触发器和存储过程节点下看看有没有添加上。

xiaotudou798
xiaotudou798 触发器建立了,但是没作用 。。。
2 年多之前 回复
z345434645
z345434645   2015.05.29 12:09

表示有点看不懂你的题啊
触发器不是定义好就行了吗?存储过程手动调用吗?别搞半天你的存储过程就没调用呢。

xiaotudou798
xiaotudou798 定义好了,我刚查了的。就是触发器没弄好,不能调用的,我对这方面的不懂没调试过,你教教我啊
2 年多之前 回复
qq_28398447
qq_28398447   2015.05.29 12:37

看一下触发器的状态,是否可用,
看一下触发器关联对象的状态,是否可用。
触发器的存储过程是否可用。

xiaotudou798
xiaotudou798 存储过程建好了,触发器也建来,然后没调用春初过程
2 年多之前 回复
xiaotudou798
xiaotudou798   2015.05.29 13:19

我用的是MySQL数据库啊,用nevicate看的,不知道怎么把存储过程的DROP PROCEDURE IF EXISTS eshop.pro_users$$

CREATE DEFINER=root@localhost PROCEDURE pro_users()

BEGIN

DECLARE week_count INT;

DECLARE user_count INT;

DECLARE over_count INT;

DECLARE month_count INT;

-- 每周注册用户

SELECT COUNT(*) INTO week_count FROM ecs_users WHERE reg_time>(UNIX_TIMESTAMP(NOW())-7*24*60*60);

-- 总注册用户

SELECT COUNT(*) INTO user_count FROM ecs_users;

-- 每周的活跃用户

SELECT COUNT(*) INTO over_count FROM ecs_users WHERE last_login>(UNIX_TIMESTAMP(NOW())-7*24*60*60);

-- 每月的访问量

SELECT COUNT(*) INTO month_count FROM ecs_stats WHERE access_time>UNIX_TIMESTAMP(DATE_SUB(DATE_SUB(DATE_FORMAT(NOW(),'%y-%m-%d 00:00:00'),INTERVAL EXTRACT(DAY FROM NOW())-1 DAY),INTERVAL 0 MONTH));

INSERT INTO ecs_user_situation(week_count,user_count,over_count,month_count,week_time) VALUES (week_count,user_count,over_count,month_count,NOW());  
END$$  

DELIMITER ; 这段代码放哪里

Csdn user default icon
上传中...
上传图片
插入图片