전체 글
개발자 카이트입니다. 프로그램 관련 지식을 정리합니다.
-
1. 위에 쿼리처럼 Alias를 제대로 지정해주지 않으면 에단일 행 하위 질의 2개 이상의 행 리턴 오류가 발생할 수 있 첫 번째 쿼리에서는 하위 질의의 서브쿼리(Subquery)에서 외부 쿼리의 테이블과 열을 참조할 때, 테이블 및 열에 별칭(Alias)을 사용하지 않고 직접 원래의 이름을 사용하였습니다.이 경우, 하위 쿼리에서의 테이블과 열은 부모 쿼리의 테이블과 열과 충돌하여 정상적인 실행이 어렵게 됩니다. 반면, 두 번째 쿼리에서는 별칭(Alias)을 사용하여 외부 쿼리와 서브쿼리 간의 구분을 명확히 하였습니다.별칭을 사용하여 서브쿼리에서 외부 쿼리의 테이블과 열을 참조하면 충돌 없이 정상적으로 실행됩니다. 따라서 첫 번째 쿼리에서 오류가 발생한 이유는 별칭(Alias)을 사용하지 않아 테이블..
[sql] 단일 행 하위 질의에 2개 이상의 행을 리턴 오류 with 서브쿼리 alias 알리야스1. 위에 쿼리처럼 Alias를 제대로 지정해주지 않으면 에단일 행 하위 질의 2개 이상의 행 리턴 오류가 발생할 수 있 첫 번째 쿼리에서는 하위 질의의 서브쿼리(Subquery)에서 외부 쿼리의 테이블과 열을 참조할 때, 테이블 및 열에 별칭(Alias)을 사용하지 않고 직접 원래의 이름을 사용하였습니다.이 경우, 하위 쿼리에서의 테이블과 열은 부모 쿼리의 테이블과 열과 충돌하여 정상적인 실행이 어렵게 됩니다. 반면, 두 번째 쿼리에서는 별칭(Alias)을 사용하여 외부 쿼리와 서브쿼리 간의 구분을 명확히 하였습니다.별칭을 사용하여 서브쿼리에서 외부 쿼리의 테이블과 열을 참조하면 충돌 없이 정상적으로 실행됩니다. 따라서 첫 번째 쿼리에서 오류가 발생한 이유는 별칭(Alias)을 사용하지 않아 테이블..
2023.08.12 -
1. 이미지 불러오는 메서드 @RequestMapping("/cmm/fms/getImage1.do") public void getImageInf1(SessionVO sessionVO, ModelMap model, @RequestParam Map commandMap, HttpServletResponse response) throws Exception { String fileStreCours = (String)commandMap.get("fileStreCours"); String streFileNm = (String)commandMap.get("streFileNm"); String fileExtsn = (String)commandMap.get("fileExtsn"); streFileNm = str..
[java] 이미지 미리보기 구현 방법 feat. fileZiller 파일질라에 이미지 저장하기1. 이미지 불러오는 메서드 @RequestMapping("/cmm/fms/getImage1.do") public void getImageInf1(SessionVO sessionVO, ModelMap model, @RequestParam Map commandMap, HttpServletResponse response) throws Exception { String fileStreCours = (String)commandMap.get("fileStreCours"); String streFileNm = (String)commandMap.get("streFileNm"); String fileExtsn = (String)commandMap.get("fileExtsn"); streFileNm = str..
2023.08.11 -
결론은 비교하는 컬럼의 타입을 확인하고, 들어간 데이터가 공백이 들어가있는지 확인해봐야 함 ( ex. 컬럼1 CHAR(7), 컬럼 2 CHAR(6) )where 조건 절에서where 컬럼1 = case when ~ then ( select 컬럼 2 from 테이블 2 ) else ( select 컬럼3 from 테이블 3 ) endwhere 컬럼1 = case when ~ then ( select 컬럼 2 from 테이블 2 ) else ( select 컬럼3 from 테이블 3 ) end이 경우 컬럼 1과 컬럼 2 혹은 컬럼 1과 컬럼 3을 비교하게 되는데둘의 타입이 다른 경우 조건이 성립하지 않아 조회된 값이 계속 없을 수 있다.예를 들어컬럼1의..
[ORALCE] where절에서 case when 조건이 안되는 이유, 조회에도 조회된 값이 없는 경우결론은 비교하는 컬럼의 타입을 확인하고, 들어간 데이터가 공백이 들어가있는지 확인해봐야 함 ( ex. 컬럼1 CHAR(7), 컬럼 2 CHAR(6) )where 조건 절에서where 컬럼1 = case when ~ then ( select 컬럼 2 from 테이블 2 ) else ( select 컬럼3 from 테이블 3 ) endwhere 컬럼1 = case when ~ then ( select 컬럼 2 from 테이블 2 ) else ( select 컬럼3 from 테이블 3 ) end이 경우 컬럼 1과 컬럼 2 혹은 컬럼 1과 컬럼 3을 비교하게 되는데둘의 타입이 다른 경우 조건이 성립하지 않아 조회된 값이 계속 없을 수 있다.예를 들어컬럼1의..
2023.08.10 -
1. 기존 코드var dataSource = new kendo.data.DataSource({ transport: { read: function(options) { url: "/api/data", type: "GET", dataType: "json", success: function(result) { options.success(result); }, error: function(xhr, status, error) { options.error(error); } } }}); 2. 변경 후 코드var dataSource = new kendo.data.DataSource({ ..
[kendo ui] dataSoure read, undefined 되는 경우1. 기존 코드var dataSource = new kendo.data.DataSource({ transport: { read: function(options) { url: "/api/data", type: "GET", dataType: "json", success: function(result) { options.success(result); }, error: function(xhr, status, error) { options.error(error); } } }}); 2. 변경 후 코드var dataSource = new kendo.data.DataSource({ ..
2023.08.10 -
데이터베이스 트리거는 데이터베이스에서 특정 동작이 발생할 때 자동으로 실행되는 스크립트입니다. 여기서 제공된 트리거는 INSERT INTO TABLE 문을 기준으로 작성되었습니다. 트리거 내에서 :OLD는 해당 트리거가 실행되기 전에 발생한 행의 이전 값을 참조합니다. 즉, 이전 값을 변경하는 UPDATE나 DELETE 작업을 기준으로 트리거가 동작하며, INSERT 작업과 같이 이전 값이 없는 경우에는 해당 트리거가 동작하지 않습니다. 예를 들어, 트리거가 AFTER DELETE 또는 AFTER UPDATE OF BS_YN에 실행되도록 설정되어 있고, INSERT 작업을 수행한다면, :OLD 값이 존재하지 않습니다. 왜냐하면 INSERT 작업은 기존의 행을 수정하는 것이 아니기 때문에 이전 값이 없..
[oracle] trigger OLD 관련 개념 정리데이터베이스 트리거는 데이터베이스에서 특정 동작이 발생할 때 자동으로 실행되는 스크립트입니다. 여기서 제공된 트리거는 INSERT INTO TABLE 문을 기준으로 작성되었습니다. 트리거 내에서 :OLD는 해당 트리거가 실행되기 전에 발생한 행의 이전 값을 참조합니다. 즉, 이전 값을 변경하는 UPDATE나 DELETE 작업을 기준으로 트리거가 동작하며, INSERT 작업과 같이 이전 값이 없는 경우에는 해당 트리거가 동작하지 않습니다. 예를 들어, 트리거가 AFTER DELETE 또는 AFTER UPDATE OF BS_YN에 실행되도록 설정되어 있고, INSERT 작업을 수행한다면, :OLD 값이 존재하지 않습니다. 왜냐하면 INSERT 작업은 기존의 행을 수정하는 것이 아니기 때문에 이전 값이 없..
2023.08.10 -
1. kendo 코드에서 schema영역 확인 후, 이후 dataBound영역에서 해당 코드 입력1. 데이터소스 read 영역schema: { data: 'resultList', total: 'totalCount', errors: 'errors'}2. 그리드 만드는 영역dataBound : function() { console.log(dataSource.data()); console.log(dataSource.data()[0].컬럼명); console.log(dataSource.total()); console.log(dataSource.errors());} 2. 웹에서 F12 console로 확인
[kendo ui] schema data confirm, 스키마 데이터 확인하는 방1. kendo 코드에서 schema영역 확인 후, 이후 dataBound영역에서 해당 코드 입력1. 데이터소스 read 영역schema: { data: 'resultList', total: 'totalCount', errors: 'errors'}2. 그리드 만드는 영역dataBound : function() { console.log(dataSource.data()); console.log(dataSource.data()[0].컬럼명); console.log(dataSource.total()); console.log(dataSource.errors());} 2. 웹에서 F12 console로 확인
2023.08.08