(주) 망나니 힘집
[DB2] db2 정보 확인하기 - 1차 정리 본문
--1. 테이블 생성
CREATE TABLE TESTDB
(ID CHAR(3) NOT NULL,
NAME VARCHAR(20) NOT NULL,
PRIMARY KEY(ID)
)
-- 2.테이블 조회
SELECT * FROM TESTDB
-- 3. 행 삽입하기
INSERT INTO TESTDB (ID, NAME)
VALUES ('1', 'ONE')
--4. 컬럼 추가하기 (현재 시간)
ALTER TABLE TESTDB ADD COLUMN DATE VARCHAR(10)
-- 5. 행 삽입하기
INSERT INTO TESTDB (ID, NAME, DATE)
VALUES ('1', 'ONE', CURRENT TIMESTAMP)
-- 6.컬럼 삭제하기
-- 안 됨... 검색해보니까 "DB2에서는 지원이 안됨" 라고 하는데...
-- ALTER TABLE TESTDB DROP COLUMN DATE
-- 7. 컬럼 속성 변경하기
-- 컬럼 속성 변경할 때, VARCHAR 만 가능하다고 함.
ALTER TABLE TESTDB ALTER COLUMN DATE SET DATA TYPE VARCHAR(15)
-- 아래 행 실행 시에, Attributes of column DATE in TESTDB in DYERP not compatible.
ALTER TABLE TESTDB ALTER COLUMN DATE SET DATA TYPE TIMESTAMP
-- 해결방법 : ADD -> 이전 열 데이터를 UPDATE, ADD 컬럼명을 변경 (RENAME)
ALTER TABLE TESTDB ADD COLUMN DATE2 TIMESTAMP
--이것도 왜 안 됮.. .==> IBM i용 DB2 문장에는 RENAME COLUMN 절이 없답니다.. 이게 DB2 커넥션 정보에 따라 다른가...?
ALTER TABLE TESTDB RENAME COLUMN DATE TO TXT
-- 8.행삭제하기
DELETE FROM TESTDB WHERE ID='1'
-- 9. 컬럼 속성보기
select * from M_ZPPT011
-- 10. 테이블 생성 정보 보기
SELECT * FROM QSYS2.SYSTABLES WHERE TABLE_NAME = 'TESTDB'
-- 11. 테이블 정보 확인하기
SELECT * FROM QSYS2.TABLES WHERE TABLE_NAME = 'TESTDB'
-- 12. 테이블 유저 정보 보기
SELECT * FROM QSYS2.USER_INFO
--13. SCHEMA 확인하기
SELECT DISTINCT TABLE_SCHEMA FROM QSYS2.TABLES
--14. SYSIBM.SYSDUMMY1 카탈로그 뷰
SELECT * FROM SYSIBM.SYSDUMMY1
--15.
SELECT * FROM SYSIBM.SYSPERMS WHERE GRANTEE = 'your_user';
--16. SYSIBM VIEW 확인
SELECT * FROM SYSIBM.VIEWS
--17. 내 특수권한 확인하기
SELECT AUTHORIZATION_NAME, SPECIAL_AUTHORITIES FROM QSYS2.USER_INFO WHERE AUTHORIZATION_NAME = 'DBKIM'
-- 18. 테이블 생성하기
CREATE TABLE B_PARTNER_STOP_OUT (
CD_PARTNER VARCHAR(10) NOT NULL,
CD_COMPANY VARCHAR(10) NOT NULL,
TXT_REMARK VARCHAR(100) DEFAULT '',
ID_INSERT VARCHAR(20) NOT NULL,
DT_INSERT TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
ID_UPDATE VARCHAR(20) NOT NULL,
DT_UPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
PRIMARY KEY (CD_PARTNER, CD_COMPANY)
);
-- 트리거 (수정일 자동 업데이트)
CREATE TRIGGER DT_UP_TRIGGER
BEFORE UPDATE ON B_PARTNER_STOP_OUT
REFERENCING NEW AS N
FOR EACH ROW MODE DB2SQL
SET N.DT_UPDATE = CURRENT_TIMESTAMP
/*
* 사용자가 시스템 자원에서 수행할 수 있는 조치 유형 지정 (특수권한)
* ALLOBJ : 모든 OBJECT 특수 권한 부여, 사용자가 개인 권한을 가지고 있는 지 상관없이 시스템에 있는 자원에 액세스할 수 있다.
* SECADM : 보안 관리자 특수 권한을 사용하여 사용자 프로파일을 작성, 변경, 삭제 가능하다.
* JOBCTL : 작업 제어 특수 권한을 사용하면 사용자가 작업, 인쇄, 작업 완료 전 종료, 인쇄 전 출력 삭제 우선순위를 변경할 수 있다.
* SPLCTL : 스풀 제어 특수 권한을 사용하여 사용자가 스풀 파일 변경, 삭제, 표시, 보류, 해제 같은 모든 스풀 제어 기능을 수행한다.
* SABSYS : 시스템 저장 특수 권한을 사용하여 오브젝트 존재 권한이 사용자에게 있는 상관없이 시스템 모든 오브젝트에 대해 기억장치 저장, 복원, 해제 권한을 갖는다.
* SERVICE : STRSST 명령을 사용하여 시스템 서비스 툴을 시작할 수 있다.
* AUDIT : 감사 특수 권한은 감사 특성을 보고 변경하는 기능을 제공한다.
* IOSYSCFG : 사용자에게 시스템 구성방식을 변경할 수 있는 기능 제공한다. 통신 구성 정보를 추가 및 제거, TCP/IP 서버에 대한 작업, ICS 구성 (인터넷 연결 서버)
*/
'스펙도 쌓니' 카테고리의 다른 글
네트워크 개론 특강 ver 1 (0) | 2025.04.10 |
---|---|
Cursor 를 아십니까? (0) | 2025.04.06 |
이클립스 유용한 기능 이모저모 ! ! ! 특정 함수가 포함된 모든 파일 탐색 ! ! ! (0) | 2025.04.03 |
무난하게 통과해버린 로그인 정보 인스턴스화 시켜서 변수를 전역으로 사용하기 (0) | 2025.04.02 |
ThreadLocal 로그인 정보 저장하기 실패 (0) | 2025.04.02 |