1. 프로시저 생성 목표
- 새로운 테이블 이름을 입력 받아 기존 테이블과 Column 형식이 같은 테이블을 만들고 싶다.
2. 프로시저 내용
CREATE PROCEDURE `SP_CREATE_NEW_TBL`(in tblName varchar(45))
BEGIN
declare irtn int default -1; /* 리턴값 초기화 */
/* tbltemplete 라는 복사 원본 형식대로 새로운 테이블을 생성함. */
set @createTbl_stmt1 := concat ( "create table if not exists `",tblName,"` like `tbltemplete`" );
prepare createTbl_stmt1 from @createTbl_stmt1;
execute createTbl_stmt1;
deallocate prepare createTbl_stmt1;
/* 테이블이 생성되었는지 확인함. 테이블이 있으면 1, 테이블이 없으면 0 반환 (@irtn) */
set @createTbl_stmt2 := concat ( "select count(*) into @irtn from information_schema.tables where table_name = '",tblName,"';" );
prepare createTbl_stmt2 from @createTbl_stmt2;
execute createTbl_stmt2;
deallocate prepare createTbl_stmt2;
set irtn = @irtn;
/* Call 프러시저에 대한 반환 내용, 문자형식(0), 반환숫자(1)*/
select if(irtn=1, "OK", "FAIL"), irtn;
END
3. 참조 페이지
MySQL 쿼리 - 기존 테이블 형식 대로 새로운 테이블 만들기 (tistory.com)
MySQL 쿼리 - 기존 테이블 형식 대로 새로운 테이블 만들기
1. 셋팅 내용 - 기본 테이블을 tblTemplete 라고 가정. 2. 새로운 테이블 이름 : tbldata001 이라고 지정. 3. 쿼리문 CREATE TABLE IF NOT EXISTS `tbldata001` LIKE `tblTemplete`;
iotcyuty.tistory.com
'Database > MySQL' 카테고리의 다른 글
MySQL 쿼리 - 테이블 내용 모두 삭제하기 (0) | 2021.05.11 |
---|---|
MySQL 쿼리 - 날짜함수 (0) | 2021.05.11 |
MySQL 쿼리 - 데이터 베이스 이름으로 검색 쿼리 (0) | 2021.05.11 |
MySQL 쿼리 - 기존 테이블 형식 대로 새로운 테이블 만들기 (0) | 2021.05.11 |