콘텐츠로 이동

iSQL 명령어

iSQL 명령어#

iSQL을 실행 시키면 iSQL 명령어 실행을 위한 프롬프트가 나오고, 이곳에 iSQL 명령어들을 입력하면 그 결과를 보여주는 형태로 프로그램이 동작한다. 아래의 표에 iSQL 각각의 명령에 대해 설명하였다.

분류종류명령어설명
iSQL 구동 및 종료구동 $ isql [option] 쉘 상에서 이 명령어를 수행하면 iSQL이 구동된다. 사용 가능한 옵션에 대해서는 iSQL 커맨드 라인 옵션 절의 내용을 참조한다.
프롬프트 iSQL> iSQL 프롬프트로 명령어 입력 후 ENTER 키를 입력한다.
종료 EXIT;
QUIT;
iSQL을 종료한다.
Altibase 구동 및 종료Altibase 구동 STARTUP PRE-PROCESS, PROCESS, CONTROL, META, SERVICE 중 하나의 옵션을 이용하여 Altibase의 다단계 구동을 수행한다.
Altibase 종료 SHUTDOWN NORMAL, IMMEDIATE, ABORT 중 하나의 옵션을 사용하여 Altibase를 종료한다.
데이터베이스 접속 및 해제다른 사용자로 서버에 접속CONNECT [logon] [nls] [AS sysdba];
logon:user1/pass1 nls: NLS=character_set
iSQL에서 데이터베이스 접속 후 다른 사용자로 접속하기 위한 명령어로 패스워드 pass1을 가진 user1이라는 사용자로 접속한다. 접속이 성공하면 이전 세션과 관련된 정보는 지워진다.
AS 절은 SYS 사용자가 sysdba 관리자 모드로 서버에 접속하는 것을 허용한다. sysdba로 접속하는 것은 한 사용자만 허용된다.
nls 옵션은 문자 집합을 설정한다. 문자집합에 대한 자세한 설명은 위의 절 iSQL 커맨드 라인 옵션: -NLS_USE 옵션을 참조하기 바란다.
접속해제DISCONNECT;현재 세션을 종료하고 서버와의 연결을 끊는다.
데이터베이스 객체 정보 조회성능 뷰 목록 보기SELECT * FROM V$TAB;시스템이 제공하는 모든 성능 뷰 목록을 보여준다. 이 명령어는 iSQL에서만 사용가능 하다.
테이블 목록 보기SELECT * FROM TAB;현재 생성된 테이블의 목록을 보여준다. 이 명령어는 iSQL에서만 사용가능 하다.
테이블 구조 보기DESC samp;samp 테이블의 구조를 보여준다.
시퀀스 정보 보기SELECT * FROM SEQ;SYS 계정으로 서버에 접속한 경우 모든 시퀀스 들의 정보를 보여준다.
일반 사용자로 서버에 접속한 경우는 그 사용자가 생성한 시퀀스들에 대한 정보만 보여준다.
이 명령어는 iSQL에서만 사용 가능하다.
파일 관리파일에 결과 저장SPOOL filename;iSQL에서 실행한 명령의 결과를 filename에 기록하기 시작한다.
SPOOL OFF;스풀링을 중지한다.
sql script의 실행START file_name;script 파일을 읽어, 파일 내의 SQL문들을 순차적으로 수행한다.
@ file_name;iSQL 프롬프트 상에서 수행 시 start와 동일한 기능을 갖는다.
@@ file_name;스크립트 파일 안에서 사용될 때 호출한 스크립트 파일이 위치하는 디렉터리에서 파일을 찾아 수행한다.
SQL문 파일 저장SAVE abc.sql;현재 iSQL 버퍼에 있는 명령어 중 가장 마지막 명령어가 파일로 저장된다.
SQL문의 loadLOAD abc.sql;파일에 저장되어 있는 명령어 중 가장 첫 번째 명령어가 명령어 버퍼의 마지막으로 로드된다.
DML문을 파일로 저장SET QUERYLOGGING ON;
SET QUERYLOGGING OFF;
INSERT, UPDATE, DELTE, MOVE 등의 DML문 실행 시 이를 $ALTIBASE_HOME/trc/isql_query.log에 기록한다. 단, DML문 중 SELECT를 실행한 경우에는 로그에 기록되지 않는다.
질의문 편집ED[IT]가장 최근에 실행된 질의문을 편집한다.
ED[IT] filename[.sql]기존 파일 또는 새로운 파일을 편집한다.
2ED[IT] 또는 2 ED[IT]히스토리 목록에 있는 번호가 2인 질의문을 편집한다.
출력 옵션 제어Select 결과 포맷팅SET LINESIZE 100;select 결과 출력 시 디스플레이 되는 한 라인의 사이즈를 설정한다. 10 에서 32767 사이의 값이어야 한다.
기본값: 80
SET LOBSIZE 10;CLOB 칼럼을 출력 시 디스플레이 되는 데이터의 길이를 설정한다.
기본값: 80
SET LOBOFFSET 3;CLOB 칼럼을 출력 시 디스플레이 되는 데이터의 오프셋을 설정한다.
기본값: 0
SET FEED[BACK] ON;
SET FEED[BACK] OFF;
SET FEED[BACK] n;
쿼리 실행결과 건수의 출력여부를 설정한다.
SET PAGESIZE 10; select 결과 레코드들을 몇 개 단위로 출력할지 결정하는 명령어로 `0`으로 설정할 경우 결과 레코드 전체를 한꺼번에 출력한다.
기본값: 0
SET HEADING ON;
SET HEADING OFF;
select 결과 출력 시 헤더 출력 유무
기본값: ON
SET COLSIZE N; CHAR, VARCHAR 타입 칼럼의 결과를 표시할 자릿수 설정.
COLSIZE가 LINESIZE보다 우선적으로 적용된다.
SET NUM[WIDTH] N; NUMERIC, DECIMAL, NUMBER, FLOAT 타입의 SELECT 결과를 표시할 자릿수 설정.
기본값: 11
CL[EAR] COL[UMNS] COLUMN으로 설정된 칼럼의 형식 해제
COL[UMN] [{column | expr} [option]] SELECT 대상(target)이 되는 칼럼의 표시 형식 설정 및 확인
SET NUMF[ORMAT] format;NUMERIC, DECIMAL, NUMBER, FLOAT 타입의 SELECT 결과를 표시할 형식 설정
SQL문 실행시간SET TIMING ON;
SET TIMING OFF;
SQL 명령 실행에 걸린 시간 출력 여부 설정.
기본값: OFF
SQL문 실행시간 출력 단위 설정SET TIMESCALE SEC;
SET TIMESCALE MILSEC;
SET TIMESCALE MICSEC;
SET TIMESCALE NANSEC;
SQL문의 쿼리 수행 시간 단위를 초, 밀리초, 마이크로초, 나노초 등으로 설정한다.
Check 제약조건 정보 출력의 유무SET CHKCONSTRAINTS ON;
SET CHKCONSTRAINTS OFF;
테이블 구조(DESC)를 볼 때 Check 제약조건 정보 포함 출력 여부 설정.
기본값: OFF
foreign key 정보 출력의 유무SET FOREIGNKEYS ON;
SET FOREIGNKEYS OFF;
테이블 구조(DESC)를 볼 때 외래 키 정보 포함 출력 여부 설정.
기본값: OFF
파티션 정보 출력의 유무SET PARTITIONS ON;
SET PARTITIONS OFF;
테이블 구조(DESC)를 볼 때 파티션 정보 포함 출력 여부 설정.
기본값: OFF
스크립트 실행 결과의 출력 유무SET TERM ON;
SET TERM OFF;
스크립트 파일의 실행 결과 및 명령어들의 출력 여부를 결정한다.
기본값: ON
스크립트 명령어 출력 유무SET ECHO ON;
SET ECHO OFF;
@으로 실행된 스크립트 파일 내의 명령어들의 출력 여부를 설정한다.
기본값 : ON
치환 변수 대체 여부SET DEFINE ON;
SET DEFINE OFF;
치환 변수가 있는 스크립트 파일 수행 시, 사용자가 입력한 파라미터 값으로 치환 변수를 대체할지 여부를 지정한다.
기본값: OFF
치환 변수 교체 전후내용 출력SET VERIFY ON;
SET VERIFY OFF;
치환 변수가 있는 스크립트 파일 수행 시, 치환 변수가 파라미터 값으로 교체되기 전후의 SQL문을 출력할지 여부를 지정한다.
기본값: ON
실행 계획 트리 출력ALTER SESSION SET EXPLAIN PLAN = ON;
ALTER SESSION SET EXPLAIN PLAN = ONLY;
ALTER SESSION SET EXPLAIN PLAN = OFF;
SELECT문에 대한 실행 계획의 출력 여부를 설정한다.
기본값: OFF
SELECT 결과 출력 방향SET VERTICAL ON;
SET VERTICAL OFF;
레코드를 조회할 때 이 값을 ON으로 설정하면, SELECT의 결과가 세로로 출력된다.
기본값: OFF
MULTIERROR 출력 여부SET MULTIERROR ON;
SET MULTIERROR OFF;
SQL 수행시 이 값을 ON으로 설정하면, 다중에러가 표시될 수 있다.
기본값: OFF 이고 이때는 다중에러가 발생해도 하나의 에러만 표시된다.
iSQL 화면 설정 값 보기SHOW LINESIZE현재의 LINESIZE 값을 보여준다.
SHOW COLSIZE현재의 COLSIZE 값을 보여준다.
SHOW MULTIERROR현재의 MULTIERROR 값을 보여준다.
SHOW LOBOFFSET현재의 LOBOFFSET 값을 보여준다.
SHOW LOBSIZE현재의 LOBSIZE 값을 보여준다.
SHOW PAGESIZE현재의 PAGESIZE 값을 보여준다.
SHOW PLANCOMMITAUTOCOMMIT OFF 모드에서 명령어를 수행할 때 자동으로 커밋되는지의 여부를 보여준다.
SHOW QUERYLOGGINGDML 문이 실행될 때 $ALTIBASE_HOME/trc/isql_query.log에 기록되는지의 여부를 보여준다.
SHOW FEEDBACK현재 설정된 FEEDBACK 값을 보여준다.
SHOW HEADING현재의 HEADING 설정 여부를 보여준다.
SHOW TERM현재 TERM 설정 여부를 보여준다.
SHOW ECHO현재 ECHO 설정 여부를 보여준다.
SHOW TIMING현재의 TIMING 설정 여부를 보여준다.
SHOW TIMESCLAE 현재 SQL문의 쿼리 수행 시간 단위가 무엇으로 설정되었는지를 보여준다.
SHOW USER현재 사용자를 보여준다.
SHOW CHKCONSTRAINTS현재의 Check 제약조건 설정 여부를 보여준다.
SHOW FOREIGNKEYS현재의 외래 키 설정 여부를 보여준다.
SHOW PARTITIONS현재의 파티션 출력 여부 설정을 보여준다.
SHOW VERTICAL현재의 SELECT 결과가 세로로 출력되는지 여부를 보여준다.
SHOW ALL현재 세션의 화면 설정 값을 보여준다.
변수 및 Prepared SQL문변수 선언VAR p1 INTEGER;INTEGER 타입의 변수 p1을 선언한다.
VARIABLE p2 CHAR(10);CHAR 타입의 변수 p2를 선언한다.
변수에 값 할당EXECUTE :p1 := 100;변수 p1에 100을 할당한다.
EXEC :p2 := 'abc';변수 p2에 'abc'를 할당한다.
변수 보기PRINT VAR[IABLE];현재 선언된 변수들을 보여준다.
PRINT p1;변수 p1의 타입과 값을 보여준다.
Prepared SQL문 수행PREPARE SQL문;Prepared SQL문으로 질의 최적화 과정과 실행 과정을 나누어 수행하게 한다. iSQL에서의 SQL문 수행은 기본적으로 최적화와 실행을 한번에 수행하는 Direct Execution 방법이다. iSQL 상에서 두 가지 수행 방법에 대한 결과에는 차이가 없으며 Prepared SQL문의 경우 변수를 사용해 값을 바인딩 하여 SQL문 수행이 가능하다.
사용자 편의 기능히스토리 목록 보기HISTORY;
H;
현재 iSQL buffer에 저장되어 있는 명령어들의 목록을 보여준다.
반복 실행/현재 iSQL buffer의 명령어를 반복하여 실행한다. 가장 최근에 수행한 명령어가 다시 실행된다.
2/HISTORY 명령에 의해 나타난 목록의 번호가 2인 명령어가 실행된다.
쉘 명령 실행! shell command느낌표 다음에 쉘 명령을 입력하면 iSQL에서 바로 쉘 명령이 실행된다.
명령 프롬프트 변경SET SQLP[ROMPT] {text}iSQL 명령 프롬프트를 설정한다.
주석 /* comment */
-- comment
여러 라인 주석
한 라인 주석
도움말 HELP;
HELP INDEX;
HELP EXIT;
도움말 사용법
명령어 리스트 출력
EXIT 명령어에 대한 설명