[SQL] MySQL의 반복, 컬럼 이름을 통하여
SQLMySQL의 반복, 컬럼 이름을 통하여
나는 각 열 이름을 통해 MySQL의 테이블, 루프에서 열 이름을 모두 가져온 다음 변수로 그 열 이름을 사용하여 저장 프로 시저를 실행하고 싶습니다. 의 효과에 뭔가 :
colnames = get column names from table
for each colname
if something changed then
do something
else
do something else
그것은 나에게 열 이름을 줄 것이다 myTable에 FROM SHOW의 COLUMNS처럼 보이지만 어떻게 루프에 열 이름을 얻을 것인가?
난 정말 네이티브 SQL을 사용하여 저장 프로 시저에서이 모든 것을 실행하고 싶습니다. 이후 나는 아직도 MySQL을의 복잡한을 배우고, 이것은 정말 내 사업을 도움이 될 것이다. 당신의 도움을 주셔서 감사합니다.
해결법
-
==============================
1.난 당신이 뭔가를 원한다고 생각 :
난 당신이 뭔가를 원한다고 생각 :
DECLARE col_names CURSOR FOR SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name' ORDER BY ordinal_position; select FOUND_ROWS() into num_rows; SET i = 1; the_loop: LOOP IF i > num_rows THEN CLOSE col_names; LEAVE the_loop; END IF; FETCH col_names INTO col_name; //do whatever else you need to do with the col name SET i = i + 1; END LOOP the_loop;
-
==============================
2.당신은 열 이름을 얻기 위해 INFORMATION_SCHEMA에 대한 쿼리를 작성할 수 있습니다 :
당신은 열 이름을 얻기 위해 INFORMATION_SCHEMA에 대한 쿼리를 작성할 수 있습니다 :
SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name' ORDER BY ordinal_position
열 이름은 그럼 그냥 테이블에서 모든 데이터가 될 것으로 반환됩니다.
from https://stackoverflow.com/questions/4950252/mysql-iterate-through-column-names by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MySQL은 여러 열을 기준으로 순위를 결정 (0) | 2020.04.08 |
---|---|
[SQL] PostgreSQL을 가진 피벗 테이블 만들기 (0) | 2020.04.08 |
[SQL] SQL의 모든 그룹의 선택 첫 행 [중복] (0) | 2020.04.08 |
[SQL] 그것은 열 서수의 위치를 사용하여 SQL 서버 데이터를 선택할 수있다 (0) | 2020.04.08 |
[SQL] MySQL은 행의 집합에 누적 합계 (0) | 2020.04.08 |