이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date |
2012/02/16 14:34:27 |
Name |
율이 |
Subject |
mysql while문 다시 질문좀.. |
mysql 도움말에보니 예제가 있더라구요
그 예제 형식에 맞게 쿼리문을 짜니 오류가 나지는 않았습니다.
그 예제가 이것인데요.
create procedure asdf()
begin
declare i int default 1;
while i <=10 do
set i = i+1;
end while;
end;
i라는 변수를 주고 기본값을 1로 준 후, i가 10보다 작거나 같을때까지 반복문을 돌립니다.
조건은 i에다가 +1씩 해서 10이 되기 전까지 반복하는것인데요.
그렇다면 변수는 기본값인 1부터 10보다 작거나 같을때까지 돌리는거니까 10까지, 1~10까지 나오게 됩니다.
실제로 저 쿼리문도 오류가 없구요
그런데 제가 원하는건 저거를 테이블에 찍어내고 싶습니다.
1부터 10까지 10개의 칼럼이 나오겠죠.
그래서 while문 사이에 "insert a values(i)" 를 넣어서 이렇게 만들었습니다(a는 테이블명)
create procedure asdf()
begin
declare i int default 1;
while i <=10 do
set i = i+1;
insert a values(i);
end while;
end;
a라는 테이블은 int형으로 칼럼이 하나 있는 상태이구요. 이 쿼리문을 실행시켜도 오류는 없으나 실제로 a라는 테이블에 1부터 10까지의 데이터가 들어가질 않습니다.
values(i)를 values(@i)로 적어도 오류는 없지만 결과는 마찬가지로 들어가질 않구요.
i 를 i가 10보다 작거나 같을때 i+1하고 a라는 테이블에 i의 값을 넣어라 라는 반복문구를 만든것인데 왜 안들어가는지 도통..
ms-sql에서는 쉽게 들어가는데 mysql은 왜이리 복잡한지 모르겠네요..
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|