시스템 소프트웨어 1. 시스템 소프트웨어는 시스템 전체를 작동시키는 프로그램으로, 프로그램을 주기억장치에 적재시키거나 인터럽트 관리, 장치관리, 언어 번역 등의 기능을 담당합니다. 2. 시스템 소프트웨어의 가장 대표적인 프로그램으로 운영체제가 있으며, 그 외에는 언어 번역 프로그램, 매크로 프로세서, 링커, 라이브러리, 정렬/합병 프로그램, 로더 등이 있습니다. 3. 시스템 소프트웨어는 기능별로 제어프로그램과 처리 프로그램으로 분류 할 수 있습니다. 제어프로그램 1. 감시프로그램 2. 작업 제어 프로그램 3. 자료 관리 프로그램 제어 프로그램은 시스템 전체의 작동 상태 감시, 작업의 순서 지정, 작업에 사용되는 데이터 관리 등의 역할을 수행하는 것으로 감시 프로그램과 작업 제어 프로그램으로 구분할 수 있..
MYSQL이나 MSSQL에서 대표적인 데이터 타입 변환함수는 CONVERT인데요. 오라클에서는 동작하지 않습니다. 오라클에서 데이터 타입 변경을 하고 싶을때는 CONVERT가 아닌 다른 함수를 사용하여야 합니다. 함수명은 TO_[데이터타입]인데요. 대표적으로 TO_CHAR , TO_NUMBER, TO_DATE 등이 있습니다. TO CHAR (CHAR형으로 변경) --사용법-- SELECT TO_CHAR([컬럼명]) FROM [테이블명] --예제-- SELECT TO_CHAR(10000) FROM DUAL --INT TO CHAR SELECT TO_CHAR(SYSDATE) FROM DUAL --DATE TO CHAR SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL --D..
오라클에서 조건을 주는 방법은 여러가지가 있습니다. 대표적으로는 CASE문 IF문이 있는데 이런 조건문을 사용하게 되면 쿼리문이 쓸데없이 길어질요소가 존재합니다. 하지만 조건이 동등문(=)일경우에 간단하게 사용할 수 있는 DECODE함수라는것이 있습니다. 이번 포스팅에서는 오라클에서 제공하는 DECODE함수를 통해 간결하게 조건문을 주는 방법에 대해 알아보도록 하겠습니다. 경우에 따라서는 DECODE함수를 중첩해서 쓰거나 서브쿼리와 같이 사용하셔도 됩니다. DECODE함수는 어제 포스팅했었던 NVL함수와 마찬가지로 오라클에서만 존재하는 함수이므로 MY_SQL이나 MS_SQL과의 호환을 염두하신다면 사용을 피하셔야합니다. 사용법 DECODE(컬럼,조건,TRUE 결과값,FALSE 결과값) 예제 --TYPE ..
오라클을 사용하다보면 NULL값을 다른 함수로 치환해주어야하는 경우가 많습니다. 이럴경우 오라클에서 제공하는 NVL함수를 써서 쉽게 처리할 수 있는데요. NVL함수는 매우편리하지만 오라클에서만 제공하는 함수이다보니 다른 데이터베이스와의 호환을 염두해둔다면 피해야할 함수이기도 합니다. (이 쿼리로 짜놓고 MY_SQL이나 MS_SQL에서 사용한다면....?? 끔찍합니다. ㅠㅠ) 1. NVL함수 사용법 NVL(컬럼,NULL일경우 반환값) NVL(컬럼,0) -- 컬럼의 값이 NULL일경우 0으로 치환 NVL(컬럼,'') -- 컬럼의 값이 NULL일경우 ''으로 치환 NVL(컬럼,SYSDATE) --컬럼의 값이 NULL일경우 현재날짜로 치환 예제 (COMPANY_NO)가 NULL이면 ''으로 치환 SELECT N..
오라클 소수점 처리를 할때 유용하게 사용할 수 있는 함수가 3가지가 있습니다. 바로 CEIL, ROUND, TRUNC 인데요. 각각 소수점을 올림, 반올림, 버림 해줄 수 있는 함수입니다. 소수점 올림 (CEIL) --사용법 SELECT CEIL([컬럼])AS [명칭] FROM [테이블명] --자릿수 지정은 없으며 무조건 소수점첫번째에서 올림 --예제 SELECT CEIL(10.423)AS PAY FROM DUAL --결과 : 11 SELECT CEIL(PAY)AS PAY FROM EMP_TABLE SELECT CASE SUM(ERR) WHEN 0 THEN 0 ELSE --0으로 나눌경우 에러가 나기에 예외처리 CEIL(COUNT(MOD)/COUNT(ERR)*100) END AS TEST_PERCENT ..
가끔 저장된 데이터는 다르지만 테이블 구조는 같은 경우가 있습니다. 이 구조가 같은 테이블을 같이 조회할 경우에는 컬럼이같기에 UNION을 사용하면 굉장히 효율적입니다. UNION을 사용하였기에 두 테이블에 있는 값은 합쳐지지 않고 따로따로 조회가 되어 합쳐지는데요. 하지만 가끔은 이렇게 조회된 두테이블의 결과 값을 서로 합쳐줘야할 때가 있습니다. 대표적으로 두 테이블의 통계를 낼때가 있겠군요. 예제 SELECT S.MODULE, SUM(S.ERR)AS ERROR_COUNT, --에러갯수 SUM(S.MOD) AS MOD_COUNT --수정갯수 FROM ( SELECT A.MODULE COUNT(A.ERR) AS ERR, COUNT(A.MOD) AS MOD, FROM ERROR_TABLE_1 A --1번테..
테이블에 PK로 설정되어있는 컬럼에 데이터가 중복으로 들어가면 무결성 제약조건에 걸리게됩니다. 이것을 예외처리 해주지 않는다면 프로그램에 치명적일 수 있는데요. 이 경우 데이터가 없을경우에만 Insert를 하는 형식으로 변환하여 프로그램의 안정성을 더해줄 수 있습니다. 오라클에 데이터가 없는 경우에만 Insert를 하는방법은 WHERE조건문에 NOT EXISTS(데이터 SELECT) 를 하는 방법으로 구현할 수 있습니다. INSERT INTO DEPT_TABLE ( SQ, COMPANY, DEPT, ) SELECT 1, '테스트회사', '테스트부서' FROM DUAL WHERE NOT EXISTS ( SELECT SQ FROM DEPT_TABLE WHERE SQ = 1, COMPANY = '테스트회사',..
NVL함수와 MAX함수를 활용하여 오라클 데이터 insert시 컬럼의 최대값+1을 저장하는 방법입니다. INSERT INTO DEPT_TABLE ( DEPT_SQ, COMPANY, DEPT_NM ) VALUES ( (SELECT NVL(MAX(DEPT_SQ),0)+1 FROM DEPT_TABLE),--데이터가없으면 0 데이터가 있으면 최대값 +1 '테스트회사', '테스트회사명' )
오라클 SELECT한 데이터를 바로 UPDATE하는 법입니다. 서브쿼리를 활용하면 간단하게 해결할 수 있습니다. 문법 UPDATE [UPDATE 테이블].[별칭] SET [UPDATE 테이블 별칭].[컬럼] = ( SELECT [조회 테이블 별칭].[컬럼] FROM [조회테이블] B ) 예제 UPDATE DEPT A SET A.PC_CD = ( SELECT B.PC_CD FROM BIZAREA B WHERE A.COMPANY_CD = B.COMPANY_CD AND A.BIZAREA_CD = B.BIZAREA_CD )
오라클 조회 프로시저 예제입니다. 필요하신분은 복사하셔서 사용하시면 좋을 것 같습니다. CREATE OR REPLACE PROCEDURE TEST_PROC /* IN Parameter */ ( P_PLANT_CODE IN VARCHAR2,--공장코드 P_DT_OUT IN VARCHAR2, --출고일 P_ITEM_CODE IN VARCHAR2, --품목명 P_COMPANY_CODE IN VARCHAR2--회사코드 ) IS BEGIN SELECT A.PLANT_CODE, B.PLANT_NAME, A.DT_OUT, A.ITEM,_CODE, B.ITEM_NAME, A.RMK FROM TEST_TABLE A LEFT OUTER JOIN TEST_TABLE2 B ON A.COMPANY_CODE = B.COMPANY..
안녕하세요 코딩팩토리입니다. 지난 2018년 한 해 동안 제 블로그를 방문해주신 모든 분께 감사드립니다. 나태해지지 않으려 꾸준히 노력한결과 한 해간 총 188개의 글을 올렸습니다. 거의 이틀당 하루꼴입니다. 더 좋은 정보를 제공하기 위해 노력했지만 미흡한 점이 많았던것 같습니다. 2019년도에도 좋은 정보를 드리기위해 노력하겠습니다. 회사의 일이 바빠지기 시작하여 작년만큼 글을 쓰기에는 어려울거같지만요. 이번 포스팅에서는 짧았던 한 해를 마무리하는 차원에서 2018년 블로그 기록을 되돌아보는 시간을 가져보도록 하겠습니다. 2018년 블로그 결산 및 애드센스 수입공개 방문자 수가 급격히 늘었습니다. 올해초까지만해도 한달 방문자 수가 3만명정도 였는데 12월에는 월간 방문자수가 무려 12만명으로 400%센..
티스토리 스킨 교체 [블로그] FastBoot스킨의 한계를 느끼고 티스토리 스킨을 교체합니다. 얼마전 제가 사용하고 있던 FastBoot스킨의 HTML 구조가 깨져 네이버의 검색엔진에서 제 블로그를 저품질로 인식하는 현상이 발생하여 스킨의 교체 필요성을 느끼게 되었습니다. 어떤 스킨을 적용할것인가에 대해 여러가지 방안에 대해 고심을 했습니다. 1. 스킨을 직접 만들어본다. 2. 검증된 유료/무료 스킨을 적용한다. 스킨을 직접 만들어본다. 개인적으로 해보고 싶은 일입니다. 바로 나만의 티스토리 스킨을 직접 만들어 보는 것입니다. FastBoot 스킨을 보며 나도 이런 스킨을 하나 만들어보고 싶다는 생각을 수십번 해보았습니다. 스킨을 수정작업하면서 이렇게 수정을 열심히 할바에야 차라리 하나 만들어보는게 낫겠..
티스토리 스킨을 교체했습니다. 기존에 제가 쓰고있던 스킨이름은 FastBoot이라는 스킨이였는데요. 깔끔한 디자인에 빠른 속도 그리고 티스토리 블로그에 영향력이 꽤나 높으신 친절한 효자손님의 FastBoot커스터마이징 강의가 대대적으로 포스팅되면서 자연스레 FastBoot라는 스킨이 홍보가되어 티스토리 블로거들사이에서 유행을 탔었죠. 아직도 많은 티스토리 블로그가 FastBoot스킨으로 블로그가 운영되고 있더군요. 저도 그 유행에 탑승하여 약 1년간 이 스킨을 잘 사용해오고 있었지만 최근들어 여러가지 문제점이 생기며 스킨을 교체하고자 합니다. 소프트웨어에서 유지보수는 필수다. 소프트웨어는 지속적으로 업데이트가 됩니다. MS사의 익스플로러도, 구글의 크롬도 계속해서 버전이 올라가고 업데이트가 되죠. 웹 환..