数据库-新人:mysql存储过程求问

问题描述

新人: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

数据库-新人:mysql存储过程求问的相关文章

vc-mfc新人 相关问题求问啊啊啊

问题描述 mfc新人 相关问题求问啊啊啊 为什么单击ok键,且列表栏中已输入安德门后列表框不能输出nihaoma? 解决方案 ComboBox 控件获取选中项的内容,写法不是你代码中的那样. int nIndex = m_cbExample.GetCurSel(); CString strCBText; m_cbExample.GetLBText( nIndex, strCBText); 解决方案二: m_listBox.add()只是添加在下拉列表框中,我好久没学过mfc了,你看下combox

数据库-Linux MySQL问题 求指导

问题描述 Linux MySQL问题 求指导 Linux系统 还原数据库进去后 就这样了 数据库名前面的字母怎么大小写改都不行 解决方案 linux下mysql中文乱码问题 解决方案二: 是不是没有数据库授权,无法操作 解决方案三: SELECT USER(); 看看你的账户 show grants for username再看看权限 解决方案四: 数据库可能损坏了,mysql整个重新建立一下database试试. 解决方案五: 解决方案六: 一看就是数据库损坏了,这种只有把mysql卸载了,或

数据库-新人求问关于sql语句的问题

问题描述 新人求问关于sql语句的问题 alter table 数据类型 add constraint check6 check (范围>'0' and 范围<'100') 执行的时候提示错误说:"消息 547,级别 16,状态 0,第 1 行 ALTER TABLE 语句与 CHECK 约束"check6"冲突.该冲突发生于数据库"数据",表"dbo.数据类型", column '范围'. 解决方案 关于sql 语句的求孤

java web-菜鸟求问javaweb的用jdbc操作mysql数据库出错

问题描述 菜鸟求问javaweb的用jdbc操作mysql数据库出错 解决方案 数据库连接的用户名密码配置是否正确?这个异常时拒绝连接. 解决方案二: 检查用户名密码是否正确.若是远程连接,还要在mysql中配置root用户可在远程登录的配置项. 解决方案三: root后面有空格/./??? 解决方案四: 检查数据库连接属性是否正确 解决方案五: 解决方案六: 你的用户名和密码正确吗??? 解决方案七: 建个数据连接,测试下 解决方案八: 用数据库客户端软件navicat之类的能连上么. 解决方

mysql存储过程问与app问题

问题描述 mysql存储过程问与app问题 最近做一款app的时候用到存储过程 突然有了些想法 请大神答疑 传统的app结构 1app请求web服务器 2web服务器调用脚本语言操作数据库 3数据库返回结果给web服务器 4web服务器将结果返回给app 那么是否app可以直接请求db呢? 假设db在公网 app网段可以请求到 db中以过程的形式执行 那么就成了 1app请求数据库 2数据库返回数据给app 就相当于省去了web服务器环节 假设db可以承受的并发 IO cache cpu 足够大

jsp连接mysql数据库实现登录功能求代码及讲解

问题描述 jsp连接mysql数据库实现登录功能求代码及讲解 jsp连接mysql数据库实现登录功能求代码及讲解,新手小白求指导 解决方案 参考JSP连接mysql,实现登录界面代码和注释简单明了,一看就明白了 解决方案二: 代码呢 代码都没杂讲解 解决方案三: 楼上说的是JSP小脚本程序实现 可是一般的开发中是不会出现这种情况的 解决方案四: http://www.cnblogs.com/cysolo/archive/2013/05/06/3063738.html 此类问题,你需要先问goog

mysql数据库表操作,求解答

问题描述 mysql数据库表操作,求解答 现在有一张emp表,表中有8个字段,emp表中有数据,怎样再增加一个字段,设置成主键,自增 解决方案 alter table emp add id int auto_increment,add primary key(id) 解决方案二: ALTER TABLE emp ADD PRIMARY KEY id AUTO_INCREMENT

新人求问JSP传表单值到servlet出现乱码

问题描述 新人求问JSP传表单值到servlet出现乱码 代码如图 解决方案 你需要把提交的数据也设置为utf-8型 request.setCharacterEncoding("utf-8") 或者 全部改为 gbk 解决方案二: 全部改成gbk就好了 看下你的项目属性的编码格式 解决方案三: 1.JSP页面编码 2.Servlet设置编码 3.Tomcat设置编码 4.项目编码 解决方案四: 在输出文本内容前, 加上response.setContentType("text

mysql 存储过程 1242-mysql 存储过程 在线急求解答!!!

问题描述 mysql 存储过程 在线急求解答!!! BEGIN /*起始时间|上车时间*/ DECLARE startime varchar(20); /*结束时间|下车时间*/ DECLARE endtime varchar(20) ; /*上车站号*/ DECLARE upnum int(11) ; /*循环判断条件*/ DECLARE b varchar(10); /*避免死循环,设置循环次数*/ DECLARE i int(11) ; /*当前站号*/ DECLARE starnum i