【问题标题】:select inside insert statmen and procedure在插入语句和过程中选择
【发布时间】:2013-12-12 18:00:29
【问题描述】:

我可以创建获取参数并在插入语句中运行选择语句的存储过程吗?

我有 2 个问题: 1)如何获取存储过程的参数? 2)我可以像这样在插入语句中运行选择语句吗?

DELIMITER $$

CREATE PROCEDURE `insertGuide` @m_name varchar(45)  ,@m_last varchar(45) ,@addres varchar(45) ,@mphone int

BEGIN
INSERT INTO `guides` (`id`, `name`, `lastName`, `address`, `phone`)
 VALUES (select max(id)+1 from seq,@m_name,@m_last,@addres,@mphone);

END

【问题讨论】:

    标签: mysql sql select stored-procedures insert


    【解决方案1】:

    我不明白第一个问题,但是关于 INSERT 语句,这应该可以工作

    INSERT INTO `guides` (`id`, `name`, `lastName`, `address`, `phone`)
    select max(id)+1, @m_name, @m_last, @addres, @mphone
    from seq;
    

    【讨论】:

      【解决方案2】:

      试试这样:

      DELIMITER $$
      
      DROP PROCEDURE IF EXISTS insertGuide;
      
      CREATE PROCEDURE insertGuide (id int, name varchar(45)  ,last varchar(45) ,addres    varchar(45) ,phone int(12)) 
      
      BEGIN
      INSERT INTO `guides` (`id`, `name`, `lastName`, `address`, `phone`)
      VALUES (id, name, last, addres, phone);
      END
      

      您可以在插入中运行选择查询,例如:

      INSERT INTO `guides` (`id`, `name`, `lastName`, `address`, `phone`)
      SELECT MAX(id)+1, @m_name, @m_last, @addres, @mphone
      FROM seq;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 2018-08-23
        • 2017-05-29
        相关资源
        最近更新 更多