2012-03-02 4 views
8

だから私はそれが何かのようになりたい、またはの効果があるだろうとストアドプロシージャに2つの変数を設定します。明らかにMYSQLは、単一のSELECT文

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

を、私は2つの選択を行うことができますが、それはそうです非常に非効率的です。

tia

答えて

1

2つのset文があります。 select文で1を設定し、最初の値を2番目の値にコピーします。

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

私はTSQL構文に慣れているので、これがMySQLで動作しない場合は、私に許してください。あなたがする必要がある場合、MySQLとに選択

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

または::

declare vFN varchar(20); 
declare vLN varchar(20); 
select fname into vFN, lname into vLN from sometable where id = 1; 
をしかし、あなたのような何かを行うことができるはず