본문 바로가기

분류 전체보기44

[google drive] 웹 파일업로드시 파일을 구글드라이버로 올리기 1. "API 및 서비스 > 라이브러리"에서 Google Drive API 검색 후 활성화."API Enabled" 가 보이면 활성화된것이다. 2. 'Service Accounts' 에 생성한 서비스로 들어간다.  3. 서비스계정키 파일 만들기 4. JSON 선택후 'CREATE' 클릭 5. 다운로드됩니다. 6. 프로젝트(classpath내에) 배치 7. 대상 구글 드라이버에 들어가서 대상 ROOT폴더의 ID(PARENT_ID)알아내기 8. 공유URL로 부터 "PARENT_FOLDER_ID or Dir or Folder" 추출 9. GoogleDriveService.java 에서 구글드라이버 oauth2인증을 위한 필수 정보를 세팅한다. private static final String SERVICE_A.. 2025. 2. 5.
[Maven] 전자정부(egov) boot templet poject 구동해보기와 maven rhino js WARN 해결하기 egov framework4.2대상으로 작성합니다.먼저 boot(spring boot)프로젝트를 생성합니다. 타켓런타임은 tomcat v9시리즈중에서 충돌이슈가 적은 끝자리 93으로 합니다. spring boot구조가 생겼습니다.src/main/resources아래static이 생긴점이 특이 하지요? 눈여겨 봐둡니다. 맨아래 pom.xml    boot 실행은 boot java 실행도 가능하고, 아래처럼 boot application실행을 하셔도 되고 취향대로 실행합니다.   실행후 로그가 너무 많아 분석이 힘들군요. 로그부터 조정하고 진행해야 할것 같습니다.resources/application.properties를 열어 DEBUG로그를 INFO로 올리겠습니다. 로그가 1만라인에서 100라인 아래로 줄.. 2025. 2. 4.
[WebSquare] MSA 지원기능 웹스퀘어공통서버를 별도로 두고 공통리소스들은 원격참조하도록 할 수 있습니다.MSA server설정에서 name값은 키가되어 다른설정에도 들어가므로 중요하다. 공통서버개념으로 'SERVER1'을 설정하기로 한다.그림처럼 '도메인:포트' 가 baseUrl or origin으로 들어가면된다.  해당서버의 css를 오버라이드 해야된다면 아래와 같이 css도 함께 적용가능하다.   Msa없이 자체설정만드로 구성하거나 Msa가 끊어졌을경우를 위해 자체설정을 찾을수있어야한다.그래서Msa UDC (즉 설정에서의 msaCommon)과 마찬가지로Project UDC(즉 설정에서의 projectCommon)도 설정되는것이 좋다. 자체css는 원래부터 있던 earlyimportList에 설정함   설정예시(baseURI , .. 2025. 2. 4.
[mybatis] 응답데이터를 대문자로 강제하기(ObjectWrapperFactory) db특성으로 대문자로 쿼리를 작성해도 소문자로 결과가 오는 경우가 있습니다.또는 대문자작성규칙기반에서 쿼리작성시 소문자가 실수로 들어갈수도 있습니다. 모두 소문자로 작성된 쿼리를 가져와서 대문자로 매핑하는 UI기반에서 사용할 수 도 있습니다.여러가지 상황이 있을 수 있겠지만 응답데이터의 키값을 강제로 대문자로 강제할수 있다면 안정적인 서비스가 가능하겠지요. 여기서 예제에서는 springboot기반에서 작성하였습니다.1. 쿼리일부를 소문자로 작성하고 결과를 확인합니다.예제와 같이 일부 컬럼명(auth_upt)을 소문자로 작성하고 테스트해보겠습니다.결과를 확인해보면 'auth_upt'만 소문자로 가져오고, 다른데이터는 대문자로 가져오고 있습니다.  2. springboot '@Configuration 파일'.. 2025. 2. 3.
[WebSquare] 다국어처리 - 서버처리방식 보호되어 있는 글 입니다. 2025. 2. 3.
[WebSquare] 다국어처리 - 서버처리방식 서버처리형 다국어처리는 internationalization의 약자인 I18N으로 표시됩니다.서버처리형이란 메세지를 클라이언트로 내리지 않습니다.화면에 대한 다국어처리를 서버에서 미리한다음 그 소스를 내려받습니다.그러한 처리를 하는 웹스퀘어 서비스URL이 /I18N입니다.(아래 예제는 WebSquareAI 20250107엔진 기준입니다) 1. 설정1.1 /websquare/config.xml 1.2 /cm/gcc/win.xml1.3 websquare_home/config/websquare.xml1.4 /WEB-INF/lang/ko/ko.properties1.5 hosts 1.1 /websquare/config.xml- pageURLPrefix 설정- proejctCommon에 $c.win모듈설정  1.2.. 2025. 1. 22.
[WebSquare] 다국어처리 - 클라이언트처리방식 클라이언트처리방식이라함은DB에서 관리되는 모든 메세지를 클라이언트로 내린다.내려진 메세지들은 웹스퀘어 컴포넌들의 locale관련properties의 value로 매핑된다.(아래 예제는 WebSquareAI 20250107엔진 기준입니다)1. 언어코드세팅config.xml에서 initScript로 모든페이지 초기세팅시언어코드(수동으로 선택한 언어 또는 브라우저의 기본 언어 코드)를 세팅한다.이 세팅만되면 시스템관리메세지와 , 웹스퀘어메세지를 엔진이 로딩시 자동으로 가져와서 js오브젝으로 관리함. (자동) (수동) 한번 세팅이 되었으면 세팅된 코드를 가져오고, 세팅전이면브라우저의 언어코드(예)ko-KR이면 'ko'만 잘라서)를 가져와서 세팅합니다. 세팅은 쿠키로 하며 key는 'system_language'.. 2025. 1. 20.
google playConsole 서비스계정 key 교체방법 1.사건의 발단 google firebase 관련된 키를 실수로 github에 올리는 바람에 아래와 같은 메일을 받게되었고,얼마지나지않아 firebase와 관련된 서비스가 정상적으로 작동하지 않음.(예시: push발송 안됨)2. 키 새로발급 및 기존 키 삭제google PlayConsole - IAM 및 관리자 - 서비스계정 - 키우선 실수로 올린 git같은경우는 바로 삭제조치를 하거나 private프로젝트로 변경하여 더이상 나오지않게 처리하고기존 키는 사용이 불가하여 새로운 키를 발급함 확장자는 .json 형태의 키로 새로 발급됨 3. 새로 발급된 키로 교체해당 키가 사용되는 부분을 교체해야함. 로컬 : 서버 실행시 VM arguments에서 -DGOOGLE_APPLICATION_CREDENTIALS .. 2024. 12. 10.
AWS EC2 새로운계정으로 이동(복사)하기 1. 기존 AWS계정에 있던 EC2 인스턴스에서 이미지를 생성합니다.작업-이미지 및 템플릿-이미지 생성2. 생성할 이미지 내용 입력 후 '이미지 생성'버튼 클릭합니다.3. AMI에서 해당 이미지 공유 계정 ID부여 하기 '계정 ID 추가'버튼 클릭합니다.4. 새로 생성한 AWS 계정 ID를 아래와 같이 입력합니다.5. 새로운 계정에서 AMI 카탈로그에 공유된 AMI 를 찾은다음 인스턴스 생성합니다.AMI 카탈로그 - 내 AMI - '필터'에서 '나와 공유됨' 체크하면 확인할 수 있음 - AMI 선택 - AMI 로 인스턴스 시작 클릭6. 공유된 AMI로 새로운 인스턴스를 생성합니다. ------------------인스턴스가 생성 완료--------------------- 2024. 11. 21.
Gemini API사용기 (무료) 위 사이트에서 확인한대로 저는 무료로 사용해보았습니다. 사용법은 aistudio.google.com에 접속해서API키를 받고 아래보이는 샘플코드를 활용하시면 됩니다. 2024. 8. 27.
[ERR] Errors running builder 'Java Builder' on project '프로젝트명'. 자바관련 프로젝트에서 제대로 빌드가 되지 않는 현상이 발생했을경우 Errors running builder 'Java Builder' on project '프로젝트명'. For input string: "H" ... 해결방법 결론은 Project - Properties에 있는 Java Compiler와 Java Build Path의 java버전이 동일하지 않아서 발생 Java Compiler와 Java Build Path의 java버전이 동일하게 맞춰주면 해결 2023. 11. 24.
[WebSquare5] 웹스퀘어 프로젝트 환경(설치) 구성 (with Tomcat 또는 SpringBoot) 1. Dynamic Web Project 생성Project - New -Dynamic Web Project 2.WebContent와 동등한 경로에 \websquare_home 디렉토리 복사 붙여넣기3. 웹스퀘어 엔진파일 속 WebContent/WEB-INF/lib 디렉토리 속 jar파일 모두 복사 붙여넣기 4. WebContent/WEB-INF/web.xml 세팅websquare servlet설정을 추가합니다. websquareDispatcher websquare.http.DefaultRequestDispatcher websquareDispatcher *.wq 5. \WebContent\websquare(정적리소스 파일)붙여넣기기존 웹스퀘어 엔진에 있던 websquare폴더를 통째로 가져와 붙여넣습니다... 2023. 11. 24.
[WebSquare5] 웹스퀘어 프로젝트 구조 및 기본세팅 1. WebSquare home세팅 웹스퀘어 home세팅하는 방법엔 여러가지가 있는데 대표적인 예시 3가지를 설명해보도록 하겠습니다. 1) WAS VM arguments에 웹스퀘어 home 세팅 -DWEBSQUARE_HOME="C:\WEBSQUARE_DEV_PACK_SP5\workspace\WRM\websquare_home" 2) web.xml에 웹스퀘어 home세팅 web.xml에 servlet에 속에 넣어주는 방법입니다. websquareDispatcher websquare.http.DefaultRequestDispatcher WEBSQUARE_HOME C:\A_teammoca_repository\eclipse_20231025\mocaerp2024\websquare_home 3) SpringBoot프.. 2023. 11. 23.
[Ubuntu] mariaDB설치 및 외부접속하기 (Ubuntu 22.04) 오늘은 ubuntu서버에 mariadb를 설치하고 외부에서 접속하는 방법에 대해 포스팅해보도록 하겠습니다. 1. apt-get update우선 mariaDB를 설치하기 위해서는 우분투 서버에 접속하셔서 apt-get를 업데이트를 해야합니다.//apt-get 앞에 sudo를 붙이거나 super admin 계정으로 변경해서 업데이트를 해주면 됩니다. //방법1. sudo apt-get update //방법2. sudo su apt-get update2. mariaDB 설치(server + client)apt install mariadb-server mariadb-client 3. mariaDB 버전확인 (mariadb --version)정상적으로 설치가 되었는지 확인할 수 있습니다.mariadb --vers.. 2023. 11. 20.
[React] 서버에 수정된 파일 배포할 경우 주의사항 이번 포스팅에서는 리액트프로젝트를 서버에 배포하면서 느낀점 및 간단한 배포계획을 작성해보려고 합니다. 우선 저희는 winSCP프로그램을 이용해 파일을 옮겨서 적용하는 방식을 이용하고 있습니다. 리액트로 만든 프로젝트 화면(실행중인 상태) 찌꺼기 파일이 있을수도 있으므로 보통 react src디렉토리 아래에 있는 파일중 변경사항이 있을경우 지운다음 새로 적용하는 형태였습니다. 그러나 한꺼번에 많은 파일들을 지우고 통째로 옮길경우 리액트가 실행되어있는 상태라면 아래와 같은 메세지들이 잔뜩 뜨면서 서버가 강제로 종료되는 현상이 발생했습니다. 그래서 이것저것 테스트 해본 결과 아래와 같이 배포할 경우 안정적으로 서버가 운영됨을 확인할 수 있었습니다. index.js 파일과 App.js파일은 따로 반영한다. cs.. 2023. 11. 17.
[vscode] Maven 프로젝트 jar 배포하기(SpringBoot) 및 리엑트 프록시 설정 안녕하세요? 이번 포스팅에서는 springBoot로 된 Maven 프로젝트를 jar파일을 생성해서 서버에 배포해보는 작업을 진행해보도록 하겠습니다. 우선 저희 환경은 vscode에서 진행됩니다. 1. vscode에서 jar파일 생성 vscode의 왼쪽 explorer에 보시면 하단에 Maven이라는 메뉴가 활성화되어있습니다. vscode에서 jar파일을 생성해보도록 해보겠습니다. 메뉴를 펼쳐보면 Maven project목록이 나옵니다. 프로젝트를 우클릭- Run Maven Commands - package 를 실행합니다. 그러면 Maven 프로젝트가 실행됩니다. 완료가 된다면 터미널에서 .jar파일이 생성된 경로를 보여줍니다. 실제로 터미널에 적힌 경로를 들어가보면 moca3-1.jar파일이 생성 되어있.. 2023. 11. 17.
[React] AWS EC2 Ubuntu서버에 리액트 프로젝트 설치하기 1. AWS EC2 우분투 서버 인스턴스 생성AWS에 접속하셔서 EC2 인스턴스를 새로 생성합니다. 인스턴스 생성 방법과 관련해서는 아래 링크에 자세히 나와있으니 https://teammoca.tistory.com/8 AWS EC2 인스턴스 우분투(Ubuntu 22.04) 서버 무료(프리티어)로 개설하기1. https://aws.amazon.com/ko/ 에 들어가서 콘솔 홈에서 'EC2'를 클릭합니다.2. 왼쪽메뉴의 EC2 대시보드에서 리소스 - 인스턴스(실행 중) 을 클릭합니다. (또는 왼쪽메뉴에서 바로 인스턴스를 클릭)3. 우측teammoca.tistory.com이번 포스팅에서는 간단한 이미지로만 보이고 넘어가도록 하겠습니다. 아래 이미지 단계의 설명은 이와 같습니다. ① 인스턴스명 입력 ② ubu.. 2023. 11. 15.
[React] React라우팅 Link, Routes를 이용하여 화면메뉴 동적으로 세팅하기 라우팅이란?웹 어플리케이션에서 사용자가 URL을 통해 페이지에 접근할 때 해당 URL에 따라 서로 다른 컴포넌트를 보여주는 것을 의미합니다. React에서는 메뉴를 클릭했을 때 다른 화면으로 이동하는 수단으로 많이 사용 합니다. React에서 기본적으로 화면들어가는 구조를 파악해보면 index.js에서 > App.js를 호출하는 방식을 가지고 있습니다. 우선 저희는 App.js에서 작성을 해보도록 하겠습니다.1. react-router-dom설치npm install react-router-domReact에서는 라우터를 구현할 때 react-router-dom을 사용합니다. 2. index.js에 ReactDom 생성 및 BrowserRouter 생성 import React from 'react'; imp.. 2023. 11. 14.
[React] React에서 모든화면에서 공통함수 또는 제이쿼리 접근하기 //해당파일에서는 react의 useState, useRef, useEffect를 사용하겠다. import {useState,useRef,useEffect} from 'react'; React에서는 각 파일들을export와 import해서 사용합니다. export : 모듈의 기능을 외부에서 사용할 수 있도록 내보내는 기능 import : export로 내보낸 모듈을 가져오는 기능 이번 포스팅에서는 import 하는 방식을 알아볼텐데요. 우선 제일 기본적으로 많이 사용되는 예시 2가지를 보겠습니다. 1. import [변수명] from [경로] // pageTop.js를 Top 이라는 변수명을 사용하여 import하겠다. import Top from './pageTop.js'; 이렇게 쓸경우 내가 작업하고.. 2023. 11. 14.
[openlayers] 지도표현방식(WMS, TMS) 1. 지도표현방식 대표적인 2가지 (WMS와 TMS)웹에서 지도를 표현하는 방식에는 대표적으로 WMS(Web Map Service)와 TMS(Tile Map Service )가 있습니다. 1) WMS(Web Map Service) 맵 데이터를 제공해주는 서비스입니다. WMS방식에는 맵 엔진이 반드시 필요합니다. 각 회사에서 개발한 맵 엔진 또는 GeoServer 같은 프로그램을 설치하여 맵 엔진 역할을 할 수도 있습니다. 맵 엔진으로 WMS를 구축하면 맵 서비스 요청에 필요한 맵 데이터를 가공하여 리턴해주는 형식입니다. 다만 TMS방식과 비교하였을 경우 상대적으로 맵 서비스 속도가 떨어집니다. 2)TMS(Tile Map Service ) TMS는 타일맵 서비스 입니다. 타일 형식으로 구역별 X,Y,Z 축.. 2023. 10. 26.
[OpenLayers] 오픈레이어스 설치 및 OSM(OpenStreetMap) 지도 띄우기 https://openlayers.org 접속하셔서 다운받습니다. (해당 포스팅은 v6.15.1 버전 기준으로 작성함)OpenLayers - WelcomeA high-performance, feature-packed library for all your mapping needs.openlayers.org 저희 포스팅에선 소스(js, css)만 필요하므로 v6.15.1-dist.zip 파일을 다운로드 합니다. 다운로드 하고 압축을 풀면 아래와 같은 파일들이 나오는데 제 포스팅에서는 ol이라는 디렉토리를 하나 생성해서 그 안에 넣어주었습니다. 지도를 띄울 index.html이라는 파일을 하나 생성합니다.index.html을 열어서 ol.js와 ol.css등 필요한 파일들을 링크시켜줍니다. 환경 세팅은 간단하.. 2023. 10. 24.
데이터베이스 문자함수(LOWER, UPPER, TRIM, SUBSTR, REPLACE) 이번 포스팅은 데이터베이스에서 많이 사용하는 문자열함수에 대해 알아보도록 하겠습니다. 1. LOWER(문자열string) - 소문자로 전환SELECT LOWER('TeamMoca') FROM DUAL;2. UPPER(문자열string) - 대문자로 전환SELECT UPPER('TeamMoca') FROM DUAL;3. TRIM(문자열) - 문자열 양옆 공백제거*주의할점 : 중간에 공백이 있는경우는 중간에 있는 공백은 제거 안됨!SELECT TRIM(' teammoca ') FROM DUAL;SELECT TRIM(' t e a mmoca ') FROM DUAL; 4. LTRIM(문자열) - 왼쪽부터 공백제거*주의할점 : 중간에 공백이 있는경우는 중간에 있는 공백은 제거 안됨!SELECT LTRIM(' te.. 2023. 10. 13.
[Openlayers] ol-ext FixedPopup 1. ol-extopenlayers의 확장 플러그인으로 style, animation, filter, controls, intersections, popup등 다양하게 제공합니다. ol-ext 다운로드는 아래 링크에 접속하셔서 다운받으시면 됩니다. https://github.com/Viglino/ol-ext GitHub - Viglino/ol-ext: Cool extensions for Openlayers (ol) - animated clusters, CSS popup, Font Awesome symbol renderer, chartCool extensions for Openlayers (ol) - animated clusters, CSS popup, Font Awesome symbol renderer,.. 2023. 10. 12.
[Openlayers] ol.style.icon image사이즈 조절방법 지난 포스팅에 이어서 [openlayers] Feature에 style적용하는 방법 + (ol.style.icon)*버전: openlayers6 기준 입니다.1. ol.style지도상에 특정 도형을 그릴때 우리는 Feature라는 객체를 사용했습니다. [Openlayers] 점, 선, 면 Feature 그리기1.오픈레이어스(OpenLayers)란 웹브라우저에서 지도, GISteammoca.tistory.comol.style.icon사용시 사용되는 이미지의 크기를 줄여서 올리는 방법을 포스팅 해보도록 하겠습니다. 우선 지도상에 이미지를 사용할경우 ol.style.icon을 사용하여 이미지 스타일을 생성합니다. image: new ol.style.Icon ({ anchor : [0.5, 0.5], src :.. 2023. 10. 5.
[openlayers] Feature에 style적용하는 방법 + (ol.style.icon) *버전: openlayers6 기준 입니다.1. ol.style지도상에 특정 도형을 그릴때 우리는 Feature라는 객체를 사용했습니다. [Openlayers] 점, 선, 면 Feature 그리기1.오픈레이어스(OpenLayers)란 웹브라우저에서 지도, GIS라이브러리를 사용할 수 있게 제공하는 오픈소스 자바스크립트 라이브러리입니다. 이번 포스팅은 Openlayers에서 많이 쓰이는 주요 객체들 중 Fteammoca.tistory.com이때 Feature에는 색상이나 두께 또는 z-index등의 Style을 입힐 수 있는데, 이때 style을 지정하는 방법엔크게 두가지가 있습니다. 1) new ol.style. Style 생성new ol. layer. Vector ({ source : new ol. s.. 2023. 10. 5.
[Openlayers] 드래그영역속에 있는 Feature 찾기 *버전: openlayers6 기준 입니다. 이번 포스팅에서는 지난번에 올렸던 점, 선, 면 Feature그리기편에 이어서 https://teammoca.tistory.com/m/20 Openlayers 점, 선, 면 Feature 그리기1.오픈레이어스(OpenLayers)란 웹브라우저에서 지도, GIS라이브러리를 사용할 수 있게 제공하는 오픈소스 자바스크립트 라이브러리입니다. 이번 포스팅은 Openlayers에서 많이 쓰이는 주요 객체들 중 Fteammoca.tistory.com드래그를 했을때 영역의 Feature를 찾는 법을 알아보도록 하겠습니다. 1. 우선 지난 포스팅의 예제소스를 통해 지도상에 점, 선, 면 Feature 그려보겠습니다.//source생성 let sample_source = new.. 2023. 9. 25.
[Openlayers] 지도상에 클릭한 지점 위도,경도 좌표얻기 *버전: openlayers6 기준 입니다. 이번 포스팅은 Openlayers에서 지도상에 마우스로 클릭한 지점에 표시(Point)를 찍고, 해당 클릭한 지점의 위도와 경도를 얻는방법을 알아보도록 하겠습니다. 우선 지도상에 나타낼 point Feature를 생성하는 기본적인 틀은 지난 포스팅과 같습니다. https://teammoca.tistory.com/m/20 Openlayers 점, 선, 면 Feature 그리기1.오픈레이어스(OpenLayers)란 웹브라우저에서 지도, GIS라이브러리를 사용할 수 있게 제공하는 오픈소스 자바스크립트 라이브러리입니다. 이번 포스팅은 Openlayers에서 많이 쓰이는 주요 객체들 중 Fteammoca.tistory.com 그러나 이번 포스팅은 마우스를 찍는 시점에 .. 2023. 9. 21.
[Openlayers] 점, 선, 면 Feature 그리기 1.오픈레이어스(OpenLayers)란 웹브라우저에서 지도, GIS라이브러리를 사용할 수 있게 제공하는 오픈소스 자바스크립트 라이브러리입니다. 이번 포스팅은 Openlayers에서 많이 쓰이는 주요 객체들 중 Feature , Source, Layer에 대해 간단하게 설명하겠습니다. 2. Feature , Source, Layer우선 openlayers에는 map이라는 핵심 객체가 있습니다. 그 안에서 Feature , Source, Layer등의 다른 객체들이 모여 map이라는 객체를 구성하게 됩니다. 객체 구성하는 크기의 순을 표현해보자면 Feature -> Source -> Layer순으로 이어집니다. 아래 그림을 통해 세 객체를 간단하게 표현해보았습니다.1) Feature Feature은 점(Po.. 2023. 9. 20.
오라클 Clob데이터 (Mybatis resultMap 처리방식) 1. CLOB(Character Large Object)LOB 데이터타입 중 하나로 문자열이나 이미지 데이터를 저장하는 문자형 대용량 데이터양식입니다. *LOB (Large Object)타입은 대욘량 데이터를 저장하기 위한 데이터 타입으로 Oracle 버전 8이상부터 지원합니다. 2. Mybatis resultMap을 이용하여 CLOB 데이터 select하기 오라클에서 Clob데이터를 가져올때는 그냥 일반적인 select문을 써서 clob데이터를 읽어올 수 없기에 Mybatis의 resultMap을 이용하여 불러옵니다. 예시) 아래와 같은 COLUMN6에 CLOB데이터 형식으로 된 테이블이 있습니다. 이 테이블을 select절에서 clob데이터를 불러오려면 아래와 같이 작성합니다. 작성1) resultM.. 2023. 9. 15.
SQL WITH절 1.WITH절이란?서브쿼리를 이름을 정의해 만든 임시테이블 *참고 : Oracle9버전 이상부터 with절 지원 2. With절은 언제 사용하는지?1) 서브쿼리 사용 시 가독성이 떨어지는 경우 보통 select문에서 서브쿼리를 많이 사용하게 되는데 서브쿼리가 길어거나 혹은 동일한 서브쿼리를 태울 때 with절을 용이하게 사용하실 수 있습니다. 간결한 서브쿼리를 작성한다면 문제가 없지만 서브쿼리가 길어지다보면 쿼리의 가독성도 떨어지게 되겠지요? 그럴때 WITH절로 쿼리를 분리시켜 임시테이블로 만든 후 From절에서 테이블처럼 사용할 수 있습니다. 2)동일한 데이터를 반복적으로 사용하는 경우 Sql내에서 동일한 데이터를 반복적으로 사용하는 경우 with절을 이용하기도 합니다. 3. With절 작성법WITH .. 2023. 8. 31.