본문 바로가기

개발/데이터베이스36

오라클 ) 컴파일 오류 정보 보는 방법 -> "오라클 부적당한 상태입니다" 에러 1. 현재 OBJECT Status 보기SELECT object_name, object_typeFROM user_objectsWHERE status = 'INVALID';invalid인 object 확인 가능2. user_error 테이블현재 접속한 사용자가 소유한 객체의 에러 확인 가능오류가 해결되면 테이블에서 자동 삭제몇번 째 라인에서 어떤 에러가 발생 되었는 지 확인 가능SELECT *FROM user_errorsWHERE name = '이름'; //이름 = 프로시저 이름, 함수 이름 등등 2025. 3. 20.
데이터베이스 ) 오라클 LOCK 확인 및 UNLOCK 하기 1. 테이블 LOCK 테이블 확인SELECT o.object_name, l.session_id, l.oracle_username, l.locked_mode, s.serial#, s.statusFROM v$locked_object lJOIN dba_objects o ON l.object_id = o.object_idJOIN v$session s ON l.session_id = s.sidWHERE o.object_name = '테이블명';2. 테이블 LOCK 풀기SESSION_ID와 SERIAL# 넣어 KILL 할 것ALTER SYSTEM KILL SESSION '198,3723' IMMEDIATE; 3. 프로시저 생성이 갑자기 안될 때 SELECT s.sid, s.serial#, .. 2025. 2. 10.
오라클 ) 모든 스키마에서 컬럼명, 테이블명 등 사용 중인 내용 검색 SELECT owner, name, type, line, textFROM all_sourceWHERE UPPER(text) LIKE UPPER('%컬럼명%') --AND UPPER(text) LIKE UPPER('%테이블명%') --and owner = '스키마명' 2024. 6. 3.
dataGrip) 테이블에서 행 복사하는 방법 1. 테이블로 이동2. 테이블 내에서 우클릭3. Change Data Extractor 클릭4. SQL Inserts 클릭5. 이제 행 선택 후 ctrl + c 눌러서 복사하면 클립보드에 Insert 구문이 복사가 된다.6. 메모장 같은 곳에 ctrl + v 눌러서 붙여넣으면 바로 insert구문이 생성된다. 2024. 5. 29.
Oracle ) 컬럼의 값으로 줄 바꿈 넣기 (CHR 10) 컬럼의 값으로 줄바꿈 내용을 넣고 싶을 때 CHR(10) 을 이용 예제코드UPDATE 테이블명SET 컬럼명 ='- 첫번째 줄 입니다.' || CHR(10) || '- 두번째 줄 입니다.' || CHR(10)WHERE 조건식; 결과 값 2024. 5. 8.
Datagrip ) Line number 영역이 너무 넓은 현상 고치기 저 같은 경우는 theme 플러그인 때문에 발생된 문제였습니다. (Material Theme UI) 문제상황 영역이 너무 넓음 해결방안 shift shift 연타(or Settings) > Appearance & Behavior > Material Theme UI > > Features > General > Centered Editor 옵션 끄기 해결 화면 매우 편안해졌습니다 ^^ 2024. 4. 5.
Datagrip ) 데이타그립 > Explorer에 모든 스키마 표현 방법 1. DB명 우클릭 > Properties 2. Schemas > All schemas 선택 > 끝 2024. 4. 4.
오라클 ) dmp 파일을 다른 스키마로 imp 하기 AAA라는 스키마를 사용하다가 BBBB로 변경되었는데, 기존 백업 파일은 AAA라는 스키마로 명명되어 있어서 문제가 발생. imp '계정/비밀번호@데이터베이스명' FROMUSER=AAA TOUSER=BBB file=덤프파일명.dmp 2024. 3. 29.
오라클 ) 프로시저, 함수 내에서 문자 찾기 --프로시저 TEXT검색 SELECT * FROM USER_SOURCE WHERE 1=1 AND TYPE = 'PROCEDURE' --패키지나 다른 부분을 검색 하고 싶다면 대문자로 입력 AND TEXT LIKE '%텍스트 명%' --여기에 찾고 싶은 텍스트 입력 ORDER BY NAME, LINE; --FUNCTION TEXT검색 SELECT * FROM USER_SOURCE WHERE 1=1 AND TYPE = 'FUNCTION' AND TEXT LIKE '%텍스트 명%' ORDER BY NAME, LINE; 2024. 3. 12.
PostgreSQL ) comment 엑셀로 추출하는 방법 아래 코드와 설명을 참고하세요. 설명 nspname = 스키마 명 입력 relname = 테이블 명 입력 코드 SELECT n.nspname AS schema_name, c.relname AS table_name, a.attname AS column_name, t.typname AS column_type, d.description AS column_comment FROM pg_attribute a JOIN pg_class c ON a.attrelid = c.oid LEFT JOIN pg_description d ON c.oid = d.objoid AND a.attnum = d.objsubid JOIN pg_namespace n ON c.relnamespace = n.oid JOIN pg_type t ON.. 2023. 9. 18.
리눅스에서 PID로 오라클 쿼리문 확인하기 1. 리눅스에서 ps -ef 혹은 top 명령어로 pid값을 확인 ps -ef 혹은 top 2. 해당 pid값으로 아래 쿼리문을 실행 SELECT c.sql_fulltext, a.username FROM v$session a, v$process b, v$sql c WHERE a.paddr = b.addr AND a.sql_address = c.address AND b.spid = pid 번호 2023. 7. 10.
오라클) 특정 컬럼 중복제거 후 전체컬럼 출력하기 SELECT t.* FROM ( SELECT 테이블명.*, ROW_NUMBER() OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명) AS row_number FROM 테이블명 ) t WHERE t.row_number = 1; 2023. 6. 15.
Oracle 피봇(Pivot) 테이블 사용하기 오라클 Pivot 행, 열 데이터를 서로 전환 11g부터 사용가능 집계함수를 이용해야함 1. 아래와 같은 테이블 구조가 있다고 가정 2. 동작 설명 1. test_table에서 각각 ft_cd, ft_nm 컬럼을 select 2. PIVOT을 사용하여 쿼리 결과를 행-열 방식으로 변환 3. IN 문 안의 내용이 컬럼명이 됨 4. 동시에 해당 값을 찾아 ROW 값으로 출력 됌. SELECT ft_nm_01, ft_nm_02, ft_nm_03, ft_nm_04, ft_nm_05 FROM ( SELECT ft_cd, ft_nm FROM test_table ) a PIVOT ( MAX(ft_nm) FOR ft_cd IN ( '1' AS ft_nm_01, '2' AS ft_nm_02, '3' AS ft_nm_03.. 2023. 4. 19.
SQL 오라클 디벨로퍼 테마 변경 (feat. ozBsidian) SQL 오라클 디벨로퍼 테마 변경 (feat. ozBsidian) 1. SQL DEVELOPER 종료 2. 아래 파일 다운로드 ozbsidian-sqldeveloper.zip 3. ozbsidian-scheme.xml 내용을 복사 4. dtcache.xml 해당 파일 찾은 후 붙여넣기 C:\Users\[해당유저명]\AppData\Roaming\SQL Developer\systemxx.xxxxxxx\o.ide.xx.x.x.x.xx.xxxxxx.xxx\dtcache.xml(+) 버전마다 경로는 다름으로 유의할 것 schemeMap 하위에 붙여넣기 (기존에 있는 태그 와 섞이지 않도록 유의할 것) 5. ozBsidian 적용 완료 2023. 3. 28.
오라클 DB ) 프로시저로 배열 넘기기 ( IN, FROM 절에 배열 형식으로 사용 - 콤마, 기준으로 구분 ) SELECT TRIM(REGEXP_SUBSTR('ddd,fff,hhh,jjj', '[^,]+', 1, LEVEL)) FROM DUAL CONNECT BY INSTR('ddd,fff,hhh,jjj', ',', 1, LEVEL - 1) > 0; 프로시저 예시 procedure proc_arrTest ( , p_arr in varchar2 -- (배열, ex - 0101,0102,0103,) ) is begin update 테이블명 set 컬럼2 = 'Y' where 1 = 1 and 컬럼1 in ( select 컬럼1 from ( select trim(regexp_substr(p_arr,'[^,]+',1,level) ) as 컬럼1 from dual connect by instr(p_arr,',',1,lev.. 2023. 1. 13.
반응형