问题描述
- 新人:mysql存储过程求问
-
各位老师,由于工作需要,最近学了mysql。这段时间也看了许多有关存储过程的教程和案例。但还是摸不着头脑。这里要请教大家,mysql存储过程具体应该如何实现。(给我个大概得框架就行)
这里需要用manager_id=human_id这个条件,找出符合条件的thuman,就如我图3。
但是接下来还要用新求出来的thuman_id=human_id这个条件循环查询出manager下面的thuman信息。
这个本人认为要用到存储过程循环查询建表和插入。但由于个人技术水平原因,求各位不啬赐教。可以不用具体代码,就大概框架。
解决方案
存储过程只要知道格式了就好弄,我这没有MySql的,给你个SQLserver的你可以参考一下,格式都差不多:
USE [xxx_vas_top_new]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
-- =============================================
-- 创 建 人:
-- 创建时间:
-- 功能描述:
-- =============================================
ALTER PROCEDURE [dbo].[pr_add_sts_ent_user_day_in_amount]
@year int, --年
@day int, --日期
@user_id bigint, --用户ID
@amount money, --
@bean money --
AS
begin
IF EXISTS (SELECT 1
FROM t_sts_ent_user_day_in_amount WITH(nolock)
WHERE year = @year
AND day = @day
AND uid = @user_id)
BEGIN
UPDATE t_sts_ent_user_day_in_amount
SET amount = amount + @amount,
bean = bean + @bean
WHERE year = @year
AND day = @day
AND uid = @user_id
END
ELSE
BEGIN
INSERT INTO t_sts_ent_user_day_in_amount
(year,
day,
uid,
amount,
bean)
VALUES (@year,
@day,
@user_id,
@amount,
@bean)
END
end
解决方案二:
你有没有使用游标,可以在存储过程里面使用游标来实现 我没有使用MySQL,但是我使用的是oracle,其实原理都是差不多的,语法也差不多
解决方案三:
游标可以使用,,,mysql 通过迭代方式,,进行运行存储
时间: 2024-10-28 12:45:47