본문 바로가기

database32

[Oracle PLSQL] for loop 이용해 화면에 반복 출력 1. 소개 oracle 기준 for loop 를 이용해 화면에 Hello World 여러 번 출력하는 것 2. query SET SERVEROUTPUT ON declare type arr is varray(5) of varchar2(10); array arr := arr('01', '02', '03', '04', '05'); begin for i in 1..array.count loop dbms_output.put_line('Hello World - ' || array(i) ); end loop; end; 2018. 3. 9.
[Query] 쿼리 만드는 쿼리 (DROP TABLE...) 1. DROP TABLE (연쇄) SELECT 'DROP TABLE ' || TABLE_NAME || ';' FROM USER_TABLES; 2018. 3. 7.
Mysql recursive query (재귀쿼리) 1. 소개 Mysql 은 오라클과 달리 재귀쿼리를 지원하는 것이 없다. 그렇기 때문에 function 이나 procedure 를 사용해야 한다. 아래 코드의 핵심은 임시테이블을 생성해서 값을 임시로 저장해서 활용하고 최종적으로 results 에 값을 쌓는 것을 목표로 한다. 임시테이블을 사용하기에 성능 이슈가 있기에 수차례 반복적으로 호출할 시에는 성능이슈를 고려해야한다. 임시테이블은 한 세션에서만 사용된다. 즉, 멀티쓰레드 환경에서 사용할 수 있다. (서로 다른 세션으로 접속한다면) 2. Code 2.1 Code Description 입력받은 id 를 조건으로 parent_id 를 가져온다. 가져온 parent_id 를 임시테이블에 저장 임시테이블에 저장된 부모의 parent_id 를 가져옴. 위 1~.. 2017. 12. 14.
Mysql 더미 데이터 만드는 쿼리 주의사항 : CREATE PROCEDURE ~ END 까지 커서로 전체 선택해서 Ctrl + Enter 눌러야 생성됨. DROP PROCEDURE IF EXISTS loopInsert CREATE PROCEDURE loopInsert() BEGIN DECLARE i INT DEFAULT 1; WHILE i <= 500 DO Insert into TABLE_NAME (ColumnA, ColumnB) VALUES(i, 컬럼 값); SET i = i + 1; END WHILE; END CALL loopInsert() 2017. 11. 24.