mariadb설명
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| mariadb설명 [2025/07/06 05:10] – admin | mariadb설명 [2025/12/06 07:26] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| - | - Select Procedure | + | 아래 Maria DB의 C.R.U.D 예시를 참고하기 바랍니다. |
| + | 구체적인 MariaDB 사용 방법은 별도 공부 하시길... | ||
| + | 참고로 MySQL과 거의 같습니다. | ||
| - | | + | 1. Select Procedure |
| - | in A_ITEM_KIND VARCHAR(20), | + | |
| - | OUT N_RETURN INT, | + | |
| - | OUT V_RETURN VARCHAR(4000) | + | # 프로시져명 ' |
| - | ) | + | |
| + | # =================== 사용자 파라미터 | ||
| + | | ||
| + | # =================== 이하 모든 프로시져에 필수포함 | ||
| + | OUT N_RETURN INT, | ||
| + | | ||
| + | ) | ||
| begin | begin | ||
| - | declare | + | |
| + | DECLARE | ||
| - | DECLARE EXIT HANDLER FOR SQLEXCEPTION | + | |
| - | CALL USP_SYS_GET_ERRORINFO_ALL(V_RETURN, | + | CALL USP_SYS_GET_ERRORINFO_ALL(V_RETURN, |
| - | select | + | # ====================== |
| - | A.PLANT, | + | SELECT |
| - | A.WH_ID, | + | |
| - | A.WH_CD, | + | |
| - | A.WH_NM, | + | |
| - | A.LOCATION, | + | |
| - | A.WH_KIND, | + | |
| - | A.USE_YN, | + | |
| - | A.INSERT_ID, | + | |
| - | A.INSERT_DT, | + | |
| - | A.UPDATE_ID, | + | AND A.USE_YN = ' |
| - | A.UPDATE_DT, | + | |
| - | A.MODI_KEY | + | |
| - | from WH_MST A | + | |
| - | INNER JOIN sys_data b ON a.WH_KIND = b.data_id | + | |
| - | where | + | |
| - | AND A.USE_YN = ' | + | |
| - | SET N_RETURN = 0; | + | # 조회 결과를 호출한 Client에 돌려주는 out 변수 |
| - | SET V_RETURN = ' | + | |
| + | SET V_RETURN = ' | ||
| end | end | ||
| + | |||
| + | 2. Insert Procedure | ||
| + | |||
| + | CREATE DEFINER=`app`@`%` PROCEDURE `sec_dev`.`PKG_SYS$SET_PROG_INSERT`( | ||
| + | INOUT A_PROG_ID | ||
| + | IN A_CODE | ||
| + | IN A_NAME | ||
| + | IN A_KIND | ||
| + | IN A_A_ADD | ||
| + | IN A_A_DELETE | ||
| + | IN A_A_SAVE | ||
| + | IN A_A_PRINT | ||
| + | IN A_USE_YN | ||
| + | IN A_USER_ID | ||
| + | # ================================== 아래 필수 | ||
| + | OUT | ||
| + | OUT | ||
| + | ) | ||
| + | PROC:BEGIN | ||
| + | DECLARE EXIT HANDLER FOR SQLEXCEPTION | ||
| + | BEGIN | ||
| + | SET N_RETURN = -1; | ||
| + | CALL USP_SYS_GET_ERRORINFO(V_RETURN); | ||
| + | END; | ||
| + | |||
| + | SET N_RETURN = -1; | ||
| + | SET V_RETURN = ' | ||
| | | ||
| - | - Insert Procedure | + | SET A_PROG_ID = NEXTVAL(sq_com); |
| - | | + | |
| - | - Delete Procedure | + | INSERT INTO SYS_PROG |
| + | (PROG_ID, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | SELECT A_PROG_ID, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 0; | ||
| + | # ===================================== 저장에 성고한 행의 갯수를 파악하여 0 이면 오류(Rollback)처리 | ||
| + | if ROW_COUNT () > 0 then | ||
| + | SET N_RETURN = 0; | ||
| + | SET V_RETURN = ' | ||
| + | else | ||
| + | LEAVE PROC; # ==================== N_RETURN의 값이 0 이 아닌상태에서 프로시져를 종료하게 되면 RollBack됨. | ||
| + | end if; | ||
| + | |||
| + | END | ||
| + | |||
| + | |||
| + | 3. Udate Procedure | ||
| + | |||
| + | CREATE DEFINER=`app`@`%` PROCEDURE `sec_dev`.`PKG_SYS$SET_PROG_UPDATE`( | ||
| + | IN `A_PROG_ID` DECIMAL, | ||
| + | IN `A_CODE` VARCHAR(30), | ||
| + | IN `A_NAME` VARCHAR(200), | ||
| + | IN `A_KIND` DECIMAL, | ||
| + | IN `A_A_ADD` CHAR(1), | ||
| + | IN `A_A_DELETE` CHAR(1), | ||
| + | IN `A_A_SAVE` CHAR(1), | ||
| + | IN `A_A_PRINT` CHAR(1), | ||
| + | IN `A_USE_YN` CHAR(1), | ||
| + | # ====================================== 아래 필수요소 | ||
| + | IN `A_MODI_KEY` DECIMAL, | ||
| + | IN `A_USER_ID` DECIMAL, | ||
| + | OUT `N_RETURN` INT, | ||
| + | OUT `V_RETURN` VARCHAR(4000) | ||
| + | ) | ||
| + | PROC: | ||
| + | | ||
| + | | ||
| + | SET N_RETURN = -1; | ||
| + | CALL USP_SYS_GET_ERRORINFO(V_RETURN); | ||
| + | | ||
| + | |||
| + | SET N_RETURN = -1; | ||
| + | SET V_RETURN = ' | ||
| + | |||
| + | UPDATE SYS_PROG | ||
| + | SET NAME = A_NAME, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | WHERE PROG_ID = A_PROG_ID | ||
| + | AND MODI_KEY = A_MODI_KEY; | ||
| + | # | ||
| + | # | ||
| + | |||
| + | IF ROW_COUNT () = 0 THEN | ||
| + | SET N_RETURN = -1; | ||
| + | LEAVE PROC; | ||
| + | END IF; | ||
| + | |||
| + | SET N_RETURN = 0; | ||
| + | SET V_RETURN = ' | ||
| + | END | ||
| + | |||
| + | |||
| + | 4. Delete Procedure | ||
| + | |||
| + | CREATE DEFINER=`root`@`%` PROCEDURE `sec_dev`.`PKG_EMPL018$SET_INSA_DAY_INOUT_DELETE`( | ||
| + | IN A_COMP_ID varchar(10), | ||
| + | IN A_OID bigint(20), | ||
| + | # =================================== 이하 필수 요소 | ||
| + | IN A_USER_ID BIGINT, | ||
| + | IN A_MODI_KEY bigint(20), | ||
| + | OUT N_RETURN INT, | ||
| + | OUT V_RETURN VARCHAR(4000) | ||
| + | ) | ||
| + | begin | ||
| + | DECLARE EXIT HANDLER FOR SQLEXCEPTION | ||
| + | CALL USP_SYS_GET_ERRORINFO_ALL(V_RETURN, | ||
| + | |||
| + | SET N_RETURN = 0; | ||
| + | SET V_RETURN = ' | ||
| + | |||
| + | UPDATE insa_day_inout | ||
| + | set DELETE_YN = ' | ||
| + | UPDATE_ID = A_UPDATE_ID, | ||
| + | UPDATE_DT = NOW(), | ||
| + | MODI_KEY = MODI_KEY + 1 # ====== 업데이트 카운트 | ||
| + | where COMP_ID = A_COMP_ID | ||
| + | and OID = A_OID # =================== Table 키 | ||
| + | and MODI_KEY = A_MODI_KEY; # ========== 조회당시의 업데이트 카운트 | ||
| + | |||
| + | IF ROW_COUNT() = 0 THEN | ||
| + | SET N_RETURN = -1; | ||
| + | SET V_RETURN = ' | ||
| + | END IF; | ||
| + | END | ||
| + | |||
| + | |||
| + | [[database_crud|↑ 상위로 가기]] | ||
mariadb설명.1751778624.txt.gz · 마지막으로 수정됨: (바깥 편집)
