2014-11-19 2 views
0

안녕하세요 여러분, mysql에 대/소문자가있는 변수를 사용할 때 문제가 있습니다.변수와 함께 대/소문자를 사용하는 경우의 오류

내가 사용한 코드는이 코드를 실행하면

DECLARE vSite VARCHAR(20); 
SET vSite = case 
when id > 0 then 'sdfsdf' 
else 'asd' end as name 
from customers; 

그것이

처럼 나에게 오류가 발생입니다
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE vSite VARCHAR(20)' at line 1: DECLARE vSite VARCHAR(20) 
여러분의 소중한 도움을 wrong..Thanks을 하겠어 어디

누구든지 나를 가리킬 수 있습니다

+1

태그 스팸하지 않는 저장 프로 시저의 간단한 예입니다. 귀하의 질문에 아무것도 PHP로 가지고있어. –

+0

당신은 당신의 솔루션에 관한 것이 아닌 문제에 대해 말해 주려고 무엇을 말하려고합니까? – Mihai

+0

@Mihai는 저장 프로 시저에서만 수행 할 수 있습니까 ?? .. 저장 프로 시저가없는 변수에 case 문 결과를 추가 할 수 있습니까? – lovemysql

답변

1

BEGIN END 블록 내에서 변수를 선언해야합니다.

여기

DELIMITER // 
CREATE procedure blah(IN customer_id INT,OUT vSite VARCHAR(20)) 
BEGIN 
SELECT CASE WHEN id > 0 THEN 'blah' 
ELSE 'mah' END INTO vSite FROM customers WHERE id=customer_id; 
END// 
DELIMITER ; 

CALL blah(3,@somevar); 
SELECT @somevar; 
+0

당신은 SQL 피들을 게시 할 수 있겠습니까 – lovemysql

+0

설명서에 대한 링크와 약간의 예가 좋을까요? –

+0

@lovemysql 우선 무엇을하려고합니까? – Mihai

관련 문제