【问题标题】:MYSQL, set two variables in stored proc with single select statementMYSQL,使用单个选择语句在存储过程中设置两个变量
【发布时间】:2012-03-21 09:12:01
【问题描述】:

所以我希望它是这样的,或者具有以下效果:

declare vFN varchar(20); 
declare vLN varchar(20);
set vFN, vLN = (select fname, lname from sometable where id = 1);

显然,我可以进行 2 次选择,但这似乎非常低效。

tia

【问题讨论】:

    标签: mysql variables select procedure


    【解决方案1】:

    如果这在 MySQL 中不起作用,请原谅我,因为我已经习惯了 TSQL 语法。但是您应该能够执行以下操作:

    declare vFN varchar(20); 
    declare vLN varchar(20);
    select vFN = fname, vLN = lname from sometable where id = 1;
    

    或者如果您需要使用 mysql 进行选择:

    declare vFN varchar(20); 
    declare vLN varchar(20);
    select fname into vFN, lname into vLN from sometable where id = 1;
    

    【讨论】:

      【解决方案2】:

      你应该试试

      declare vFN varchar(20); 
      declare vLN varchar(20);
      select fname, lname INTO vFN, vLN from sometable where id = 1;
      

      查看http://dev.mysql.com/doc/refman/5.0/en/select-into.html 获取文档。

      【讨论】:

        【解决方案3】:
        select vFN :=fname, vLN:=lname from sometable where id = 1
        

        【讨论】:

          【解决方案4】:

          有两个集合语句。使用 select 语句设置一个,然后将第一个中的值复制到第二个。

          declare vFN varchar(20); 
          declare vLN varchar(20);
          set vFN = (select fname, lname from sometable where id = 1);
          set vLN = vFN;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-01-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-27
            • 1970-01-01
            • 2011-10-26
            相关资源
            最近更新 更多