DB/SQL 19

PLSQL이란? - 세기무민

이번에 다뤄볼 내용은 PLSQL입니다 PLSQL? PLSQL은 상용 관계형 데이터베이스 시스템인 SQL 확장성 프로그래밍 언어 중 하나이다. PLSQL은 SQL 문장으로 처리하기 어려운 내용을 프로시저 및 트리거로 작성하는데 자주 사용된다. PLSQL 장점 1. PLSQL은 오라클 서버 및 툴들에 일관적이고 중심적인 역할을 수행하기 떄문에 통합 관리 및 이식성이 가능하다. 2. 절차적인 언어 프로그래밍 언어가 가지고 있는 다양한 기능들을 제공한다. 3. 프로그램 모듈화 개발을 지원한다. PLSQL 예시 declare l_today date := sysdate; begin if to_char(l_today,'D') < 4 then dbms_output.put_line( '일주일 절반도 아직 안지남'); e..

DB/SQL 2022.07.12

[세무민의 코딩일기] : 오라클 시퀀스 조회 번호 확인하기

안녕하세요 세기무민입니다. 이번에 다룰 포스팅은 USER_SEQUENCES입니다. 우선 Oracle 문서에서 확인한 정의는 위와 같습니다. 즉 USER_SEQUENCES는 현재의 사용자가 소유한 시퀀스를 모두 보여줍니다. 타입은 VIEW입니다. 해당 뷰의 컬럼은 아래와 같습니다. 아래의 컬럼은 ALL_SEQUENCES의 컬럼이며 USER_SEQUENCES와 같습니다. 컬럼 명 컬럼 내용 SEQUENCE_OWNER 시퀀스의 소유자 SEQUENCE_NAME 시퀀스 이름 MIN_VALUE 시퀀스의 최소값 MAX_VALUE 시퀀스의 최대값 INCREMENT_BY 시퀀스가 증가하는 값 CYCLE_FLAG 시퀀스 순환 여부 ORDER_FALG 시퀀스 번호 순서 생성 여부 CACHE_SIZE 시퀀스의 캐시 크기 LA..

DB/SQL 2022.02.23

[세무민의 코딩일기] : 오라클 프로시저 및 함수 내용 찾기

안녕하세요 세기무민입니다. 이번에 다룰 포스팅은 오라클을 사용하다보면 프로시저와 함수를 만드는데 만약 프로시저와 함수가 엄청 많다면 모든 내용을 들어가서 확인하는건 비 효율적입니다. 따라서 프로시저와 함수 내에서 내용을 찾는 쿼리를 알아보도록 하겠습니다. /** * 프로시저 내 포함된 내용 찾기 */ SELECT * FROM USER_SOURCE WHERE 1=1 AND TYPE= "PROCEDURE"-- 타입 : 프로시저 AND TEXT LIKE '%%'-- 찾으려는 텍스트 입력 /** * 함수 내 포함된 내용 찾기 */ SELECT * FROM USER_SOURCE WHERE 1=1 AND TYPE= "FUNCTION"-- 타입 : 함수 AND TEXT LIKE '%%'-- 찾으려는 텍스트 입력 우선..

DB/SQL 2022.02.21

[세무민의 코딩일기] mysql에서 Procedure 사용하기

이번 포스팅에서는 Mysql에서 사용하는 프로시저라는 것에 대해 알아보도록 하겠습니다. 스토어드 프로시저 우선 Mysql에서는 스토어드 프로시저라고 합니다. "쿼리문의 집합이자 동작을 일괄로 처리할 수 있도록 사용된다." 스토어드 프로시저란 Mysql 내부에서 프로그래밍이 가능하도록 제공해주는 것이라고 생각하면 된다. 즉 일반 쿼리를 모듈화하여 호출하는 방식으로 이용하며 이는 편리성을 제공해줍니다. 프로시저의 장점 및 단점 [장점] 1. 다양한 쿼리를 모듈화 가능 -> 1개의 프로시저로 N개의 쿼리를 수행 가능하다. 2. 처리 시간이 단축된다 -> 구문 분석과 코드 변환에 필요한 시간들을 미리 하기 때문이다. 3. SQL 문장과 호스팅 언어의 분리로 인하여 프로시저 보수가 편리함 [단점] 1. 재사용성이..

DB/SQL 2022.02.03

[세무민의 코딩일기] mysql로 Union 사용하기

이번 포스팅에서 다뤄볼 내용은 DB에서 쿼리 조합할때 자주 사용하는 Union에 대해서 다뤄보겠습니다. UNION Union이란 2개의 쿼리 결과를 행으로 합치는 것을 말합니다. 위의 그림처럼 2개의 조회 결과를 한개의 행으로 결과를 합치는 것을 말합니다. SELECT A 구문 UNION SELECT B 구문 Ex) select title, contents from noticeboard union select title, urlroot from myService; 쿼리대로 조회한 결과가 위의 그림입니다. UNION 조건 UNION을 사용할 때 조건이 존재하는데 조회하는 문장의 열의 개수와 데이터의 형식이 같아야 조회가 가능합니다. UNION ALL UNION과 UNION ALL의 차이는 중복값의 차이이다..

DB/SQL 2021.12.21

[세무민의 코딩일기] mysql에서 json 이용하기

이번 포스팅에서는 mysql에서 json을 이용해보도록 하겠습니다. # json 변수 생성 set @json='{"sgmoomin" : [ {"name":"Saves", "avg":70}, {"name":"Checks", "avg":75}, {"name":"tests", "avg":80}, {"name":"Delts", "avg":88}, {"name":"Alrets", "avg":66}, {"name":"Nums", "avg":90} ] }'; # json 아닌 경우 변수 생성 set @noJson = 70; 먼저 위의 코드처럼 임시로 테스트 json을 만들어 주겠습니다. 위의 임시로 만들어준 변수를 조회하면 json 형태로 나오게 됩니다. # json_valid | json_search | json_..

DB/SQL 2021.08.23

[세무민의 코딩일기] mysql에서 피벗 구현하기!

오늘 포스팅은 pivot에 관련된 내용을 다뤄볼 생각입니다. pivot을 이용하는 건 예전에 오라클에서 달력 만들었던 포스팅에서도 다뤘습니다. https://sg-moomin.tistory.com/entry/Oracle-DB%EB%A1%9C-%EB%8B%AC%EB%A0%A5-%EB%A7%8C%EB%93%A4%EA%B8%B0 Oracle DB로 달력 만들기! 오늘 과장님께서 주신 과제가 있어서 과제를 푸는데 과제 내용은 쿼리로 달력을 만드는것! 그래서 내가 구현한 방법은 총 3가지였다! #1 Case 문을 이용하는 방법! select min(case when WEEKDAY = 1 then DDAY sg-moomin.tistory.com 해당 포스팅은 위에 링크를 따라가면 확인할 수 있습니다. 오라클에서는 ..

DB/SQL 2021.08.02

[세무민의 코딩일기] 쿼리에서 자주 사용하는 MOD, POW 등 숫자 함수에 대해서 알아보기

이번 포스팅에서는 쿼리 내장함수 중 숫자 함수에 관련하여 포스팅해보겠습니다. 1. ABS SELECT ABS(-100) AS '음수 값', ABS(-10.00) AS '소수 값' FROM DUAL; - ABS란 숫자의 절댓값을 계산해주는 함수입니다. 2. CEILING, FLOOR, ROUND SELECT CEILING(3.3) AS '올림', FLOOR(3.3) AS '내림', ROUND(3.3) AS '반올림' FROM DUAL; - CEILING은 숫자를 올림하고 FLOOR는 숫자를 내림, ROUND는 숫자를 반올림하는 함수입니다. 3. CONV SELECT CONV('AE', 16, 8) FROM DUAL; - CONV는 진수 변환을 할 떄 사용하는 함수입니다. - CONV의 경우 원래 진수에서 ..

DB/SQL 2021.07.29

[세무민의 코딩일기] SQL 내장함수에 대해서 알아보자 2탄!(문자열 공백 제거와 문자열 쪼개기)

요새 회사 업무에 시달리는 중이라 생각보다 포스팅을 꾸준히 하는 게 쉽지 않은 거 같습니다. 그래도 아는 선에서 최대한 좋은 정보로 포스팅해보겠습니다! 이번 포스팅에서는 저번 포스팅에서 다루지 못했던 함수에 대해서 마저 다루도록 하겠습니다. 1. LTRIM, RTRIM SELECT LTRIM(' SG-MOOMINS') AS LTRIM ,RTRIM('SG-MOOMIN ') AS RTRIM FROM DUAL; - LTRIM은 문자열 왼쪽에 공백, RTRIM은 문자열 오른쪽에 공백을 제거합니다. - 공백의 경우는 중간 공백은 제거되지 않는다는 점 2. TRIM SELECT TRIM(' SG - MOOMIN ') AS 'TRIM' ,TRIM(LEADING 'A' FROM ' A SG-MOOMIN F A') AS..

DB/SQL 2021.07.28

[세무민의 코딩일기] SQL 내장함수에 대해서 알아보자 1탄!(길이, 진법변환, 문자열 반환 등)

오늘 다뤄볼 포스팅은 SQL 내장함수에 대해서 다뤄볼 것입니다. 내장함수가 워낙 많아서 나눠서 포스팅 할 예정입니다. 1. 아스키 코드 함수[ASCII] SELECT ASCII('AB') AS 'AB' , (ASCII('A') + ASCII('B')) AS 'A + B'; 아스키 코드는 위와 같이 사용할 수 있습니다. 위의 코드를 돌리면 위의 그림과 같이 나오며 'AB'과 같이 문자열의 경우에는 아스키 코드 함수가 가장 앞에 있는 A를 변환해줍니다, 2. BIT_LENGTH, LENGTH, CHAR_LENGTH SELECT BIT_LENGTH('SG-MOOMOIN') AS '비트 길이' , CHAR_LENGTH('SG-MOOMIN') AS '문자 길이' , LENGTH('SG-MOOMIN') AS '길이..

DB/SQL 2021.07.27