OS 환경 : Oracle Linux 8.7 (64bit)
DB 환경 : Oracle Database 19.27.0.0
방법 : 오라클 19c sql로 크리스마스 트리 만들기
본문에서는 오라클 sql을 이용해 크리스마스 트리를 만드는 방법을 설명함
SQLcl 실행
|
1
2
3
4
5
6
7
8
9
10
11
12
|
$ sql / as sysdba
SQLcl: Release 21.4 Production on Sat Dec 13 22:05:06 2025
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0
SQL>
|
아래 sql 수행
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
SQL>
set pages 0
set lines 200
set feedback off
set heading off
set verify off
WITH params AS (
SELECT 25 AS h,
MOD(TO_NUMBER(TO_CHAR(SYSTIMESTAMP,'SSFF')), 100000) AS f
FROM dual
),
tree AS (
SELECT LEVEL AS lvl,
(SELECT h FROM params) - LEVEL AS space_cnt,
LEVEL * 2 - 1 AS width,
(SELECT f FROM params) AS f
FROM dual
CONNECT BY LEVEL <= (SELECT h FROM params)
)
SELECT
CASE
WHEN lvl = 1 THEN LPAD(' ', (SELECT h FROM params) - 1) || '★'
ELSE LPAD(' ', space_cnt) ||
REPLACE(
RPAD('*', width, '*'),
'*',
CASE MOD(lvl + f, 6)
WHEN 0 THEN 'o'
WHEN 1 THEN '*'
WHEN 2 THEN '@'
WHEN 3 THEN '*'
WHEN 4 THEN '+'
ELSE '#'
END
)
END AS christmas_tree
FROM tree
UNION ALL SELECT LPAD(' ', (SELECT h FROM params) - 2) || '|||||' FROM dual
UNION ALL SELECT LPAD(' ', (SELECT h FROM params) - 2) || '|||||' FROM dual
UNION ALL SELECT LPAD(' ', (SELECT h FROM params) - 2) || '|||||' FROM dual;
/
|
repeat 명령 수행(1번부터 1000000번까지 반복수행)
|
1
|
SQL> repeat 1000000 1
|
결과 영상

결론 :
메리크리스마스
참조 :
https://connor-mcdonald.com/2025/12/12/an-ai-generated-sql-for-christmas/
'ORACLE > Sql' 카테고리의 다른 글
| 오라클 19c redo 많이 발생한 시점 확인 (0) | 2025.11.29 |
|---|---|
| 오라클 19c 리스너 로그 집계 스크립트 (0) | 2025.11.11 |
| 오라클 19c Hugepages 설정 스크립트 최신버전 및 수동계산 (1) | 2025.09.28 |
| 오라클 19c 유저 100개, 테이블 100개, 인덱스 100개, 데이터 1000건 생성 (0) | 2025.08.10 |
| 오라클 19c 테스트용 테이블스페이스 및 데이터파일 여러개 생성 쿼리 (0) | 2025.07.28 |