Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 



CSQL 시작 옵션

프롬프트 상에서 옵션 목록을 보려면, 다음과 같이 옵션을 적용할 데이터베이스를 지정하지 않고 csql 유틸리티를 실행한다.

% csql

interactive SQL utility, version 2008 R4.0

usage: csql [OPTION] database-name valid options:

  -S, --SA-mode                standalone mode execution

  -C, --CS-mode                client-server mode execution

  -u, --user=ARG               alternate user name

  -p, --pasword=ARG            password string, give "" for none

  -e, --error-continue         don't exit on statement error

  -i, --input-file=ARG         input-file-name

  -o, --output-file=ARG        output-file-name

  -s, --single-line            single line oriented execution

  -c, --command=ARG            CSQL-commands 

  -l, --line-output            display each value in a line

  -r, --read-only              read-only mode

      --no-auto-commit         disable auto commit mode execution

      --no-pager               do not use pager  

      --no-single-line         turn off single line oriented execution

옵션

다음은 csql 유틸리티와 함께 사용할 수 있는 옵션을 정리한 표이다.

옵션

설명

-S

독립 모드(standalone mode)로 실행하기 위한 옵션이다.

-C

클라이언트/서버 모드(client/server mode)로 실행하기 위한 옵션이다.

-u user_name

데이터베이스에 접속하려는 사용자를 명시할 때 사용하는 옵션으로, 기본값은 PUBLIC이다.

-p password

데이터베이스에 접속하려는 사용자의 암호가 존재하는 경우 암호를 입력하기 위한 옵션이다.

-e

에러가 발생하더라도 세션을 종료하지 않고 계속 실행하라는 옵션이다.

-i input_file

인수로 지정된 input_file은 SQL 문이 저장된 파일이며, 배치 모드 실행을 위한 옵션이다.

-o output_file

구문 실행 결과를 화면에 표시하지 않고 지정된 output_file에 저장한다.

-s

-i 옵션과 함께 사용되며, 복수 개의 SQL 문이 연속적으로 저장된 파일에서 SQL 문을 하나씩 실행하려고 할 때 사용하는 옵션이다. 각 SQL 문은 세미콜론(;)으로 구분한다.

-c "CSQL commands"

프롬프트 상에서 직접 SQL 문을 수행하기 위한 옵션으로 큰 따옴표 안에 수행하려는 SQL 문을 입력한다.

-l

실행된 SQL 문에 대한 결과를 컬럼이 아닌 라인 형태로 출력하는 옵션이다. 기본값은 컬럼 형태로 출력된다.

-r

데이터베이스에 읽기 전용으로 접속하는 옵션이다.

--no-auto-commit

CSQL 인터프리터의 자동 커밋(autocommit) 모드를 OFF로 설정하는 옵션이다.

--no-pager

CSQL 인터프리터에서 수행한 질의 결과를 페이지 단위로 출력하지 않고 일괄적으로 출력하는 옵션이다.

--no-single-line

SQL 문 여러 개를 ;xr 또는 ;r 세션 명령어로 한꺼번에 수행하고자 할 때 사용하는 옵션이다.

독립 모드에서 실행(-S)

-S 옵션을 이용하여 독립 모드로 데이터베이스에 접속하여 csql을 실행한다. 데이터베이스를 독점적으로 사용하고자 할 때 -S 옵션을 이용한다.

csql -S demodb

클라이언트/서버 모드에서 실행(-C)

-C 옵션을 이용하여 클라이언트/서버 모드로 데이터베이스에 접속하여 csql 유틸리티를 실행한다. 데이터베이스에 여러 클라이언트가 동시 접속하는 환경에서 -C 옵션을 이용한다. 만약 클라이언트/서버 모드로 원격 호스트의 데이터베이스에 접속한 경우라도 csql 유틸리티를 실행하는 도중에 발생한 에러 로그는 로컬 호스트의 cub_client.err 파일에 기록된다.

csql -C demodb

배치 모드에서 사용되는 입력 파일을 지정(-i)

-i 옵션을 이용하여 배치 모드에서 사용할 입력 파일의 이름을 지정한다. infile 파일에는 하나 이상의 SQL 문이 저장되어 있으며, -i 옵션이 지정되지 않으면 CSQL 인터프리터는 대화형 모드로 실행된다.

csql -i infile demodb

수행 결과를 저장할 출력 파일을 지정(-o)

-o 옵션을 이용하여 질의 수행 결과를 화면에 출력하지 않고 지정된 파일에 저장한다. 이는 CSQL 인터프리터에 의한 질의 수행 결과를 추후 조회하고자 할 때 유용하게 사용될 수 있다.

csql -o outfile demodb

사용자 이름을 지정(-u)

-u 옵션을 이용하여 지정된 데이터베이스에 접속하려는 사용자 이름을 지정한다. 만약 -u 옵션이 지정되지 않으면 가장 낮은 사용자 권한을 가지는 PUBLIC이 사용자로 지정된다. 또한 사용자 이름이 유효하지 않은 경우에는 오류가 출력되고 csql 유틸리티는 종료된다. 암호가 설정된 사용자 이름이 지정된 경우에는 암호를 입력받기 위한 프롬프트가 출력된다.

csql -u DBA demodb

사용자 암호를 지정(-p)

-p 옵션을 이용하여 지정된 사용자의 암호를 입력한다. 특히, 배치 모드에서는 지정한 사용자에 대한 암호 입력을 요청하는 프롬프트가 출력되지 않으므로 -p 옵션을 이용하여 암호를 입력해야 한다. 잘못된 암호를 입력하면, 오류가 출력되고 csql 유틸리티는 종료된다.

csql -u DBA -p *** demodb

SQL 문을 하나씩 수행하도록 지정(-s)

-i 옵션과 함께 사용하는 옵션으로, -s 옵션을 지정하면 파일에 입력된 여러 개의 SQL 문을 하나씩 나누어 수행한다. 이 옵션은 질의 수행에 메모리를 적게 할당하고 싶을 때 유용하게 이용할 수 있다. 각 SQL 문은 세미콜론(;)으로 구분한다. 옵션을 생략하면 여러 개의 SQL 문을 한꺼번에 읽어들인 후 수행한다.

csql -s -i infile demodb

셸에서 직접 SQL 문을 처리(-c)

-c 옵션을 이용하여 셸 상에서 하나 이상의 SQL 문을 직접 수행한다. 이 때, 각 문장은 세미콜론(;)으로 구분한다.

csql -c "select * from olympic;select * from stadium" demodb

라인 단위로 출력(-l)

-l 옵션을 이용하여 SQL 문을 실행한 결과를 라인 단위로 출력한다. -l 옵션을 지정하지 않으면 열 단위로 출력한다.

csql -l demodb

에러를 무시하고 계속 실행(-e)

SQL 문 여러 개를 연속으로 나열하여 실행할 때 -e 옵션을 이용하면 SQL 문 중간에 의미상(semantic) 오류 또는 런타임 에러가 발생하여도 이를 무시하고 계속 SQL 문을 실행한다. 이때 SQL 문에 문법상(syntax) 오류가 있다면 -e 옵션이 지정되어 있어도 오류가 발생한 후의 질의를 실행하지 않는다.

$ csql -e demodb

csql> SELECT * FROM aaa;SELECT * FROM athlete WHERE code=10000;

In line 1, column 10,

ERROR: Unknown class "aaa".

 

=== <Result of SELECT Command in Line 1> ===

         code  name                  gender                nation_code

         event

=====================================================================================================

        10000  'aaa'                 'M'                   'NED'         'Rowing'

 

1 rows selected.

Current transaction has been committed.

1 command(s) successfully processed.

읽기 전용으로 접속 (-r)

-r 옵션을 이용하여 읽기 전용으로 데이터베이스에 접속한다. 데이터베이스에 읽기 전용으로 접속하면 테이블을 만들거나 데이터를 입력할 수 없고 데이터를 조회만 할 수 있다.

$ csql -r demodb

자동 커밋 모드 중지(--no-auto-commit)

--no-auto-commit 옵션을 이용하여 자동 커밋 모드를 중지한다. --no-auto-commit 옵션을 지정하지 않으면 기본적으로 CSQL 인터프리터는 자동 커밋 모드로 작동되고, 입력된 SQL 문이 실행될 때마다 자동으로 커밋된다. 또한, CSQL 인터프리터를 시작한 후 ;AUtocommit 세션 명령을 수행해도 동일한 결과를 얻을 수 있다.

csql --no-auto-commit demodb

질의 수행 결과를 일괄적으로 보여주기(--no-pager)

--no-pager 옵션을 이용하여 CSQL 인터프리터에서 수행한 질의 결과를 페이지 단위로 출력하지 않고, 일괄적으로 출력한다. --no-pager 옵션을 지정하지 않으면 페이지 단위로 질의 수행 결과를 출력한다.

csql --no-pager demodb

SQL 문 여러 개를 모아서 일괄적으로 실행하기(--no-single-line)

--no-single-line 옵션을 이용하면 SQL 문 여러 개를 저장해 두었다가 ;xr 혹은 ;r 세션 명령어로 한꺼번에 수행한다. 이 옵션을 지정하지 않으면 ;xr 혹은 ;r 세션 명령어 없이 SQL 문이 바로 실행된다.

csql --no-single-line demodb