2012-03-02 5 views
8

그래서 내가 같은, 또는의 효과를 가지고 그것을 좋아하는 것 하나를 선택 문 저장된 프로 시저에서 두 개의 변수를 설정 : 나는이 선택을 할 수있는, 분명히MYSQL는

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

을하지만 보인다 매우 비효율적이다.

tier

답변

1

두 세트의 진술서가 있어야합니다. select 문을 사용하여 값을 설정 한 다음 첫 번째 값을 두 번째 값으로 복사합니다.

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에서 작동하지 않는다면 용서해주십시오. 하지만 당신은 같은 것을 할 수 있어야한다 :

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;