이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 스포츠 토토버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

스포츠 토토 결과

이름

스포츠 토토 결과 -  임베디드 SQL C 사전 처리기

시놉시스

스포츠 토토 결과[-v] [-t] [-i포함] [-oOutfile]파일...

입력

스포츠 토토 결과다음을 수락합니다 명령 줄 인수 :

-v

인쇄 버전 정보.

-t

트랜잭션의 자동 커밋을 켭니다. 이 모드에서 각 쿼리는 내부에 있지 않으면 자동으로 커밋됩니다 명시적인 거래 블록. 기본 모드에서 쿼리는 만 커밋됩니다.exec SQL 커밋발행.

-i포함

추가 포함 경로를 지정하십시오. 기본값은.(현재 디렉토리),/usr/local/include, Thepostgresql경로 포함 컴파일 시간에 정의됩니다 (기본값 :/usr/local/pgsql/include) 및/usr/include.

-oOutfile

이를 지정합니다스포츠 토토 결과모든 출력을 작성해야합니다Outfile. 그러한 옵션이없는 경우 출력은에 기록됩니다.이름.C12148_12196이름.pgc. 입력 파일 인 경우 예상.pgc접미사, 그러면 출력 파일에.pgc입력 파일 이름에 추가되었습니다.

파일

처리 할 파일.

출력

스포츠 토토 결과파일을 생성합니다 에 쓰기stdout.

반환 값

스포츠 토토 결과0을 반환합니다 성공적인 완료시 쉘, 오류가 아닌 0이 아닙니다.

설명

스포츠 토토 결과내장 된 SQL입니다 C 언어 및 전처리 기PostgreSQL. C의 개발을 가능하게합니다 내장 된 SQL 코드가 포함 된 프로그램.

Linus Tolke ()는입니다 의 원래 저자스포츠 토토 결과(최대 버전 0.2). Michael Meskes () IS 현재 저자이자 관리자스포츠 토토 결과. 토마스 굿 () IS 마지막 개정의 저자스포츠 토토 결과이 문서가있는 사람 페이지 기반을 둔.

usage

컴파일을위한 사전 처리

내장 된 SQL 소스 파일은 전에 전처리해야합니다 편집:

ecpg [-d] [-o파일]파일.pgc

선택 사항-d플래그 회전 디버깅시. 그만큼.pgc확장자입니다 임의의 수단을 표시하는 수단스포츠 토토 결과소스.

전처리 출력을 로그로 리디렉션 할 수 있습니다. 파일.

컴파일 및 링크

가정PostgreSQLBinaries가 있습니다/usr/local/pgsql, 당신 전처리 소스를 컴파일하고 연결해야합니다 파일:

gcc -g -i/usr/local/pgsql/포함 [-o파일]파일.c -l/usr/local/pgsql/lib -lecpg -lpq

문법

도서관

사전 처리기는 두 가지 지시문을 선방합니다 원천:

#include <ecpgtype.h
#include <ecpglib.h

가변 선언

내에서 선언 된 변수스포츠 토토 결과소스 코드는 선정되어야합니다 와 함께:

Exec SQL 시작 선언 섹션;

마찬가지로 가변 선언 섹션이 종료되어야합니다 와 함께:

Exec SQL End Declare 섹션;

참고 :버전 2.1.0 이전에 각 변수는있었습니다 별도의 선으로 선언됩니다. 버전 2.1.0 기준 여러 변수가 한 줄로 선언 될 수 있습니다.

Char Foo [16], Bar [16];

오류 처리

SQL 통신 영역은 다음과 같이 정의됩니다.

Exec SQL 포함 SQLCA;

참고 :theSQLCA소문자. SQL 컨벤션을 준수 할 수있는 동안, 즉 대문자를 사용하여 C 문에서 내장 된 SQL을 분리하여SQLCA( 포함SQLCA.H헤더 파일)필수소문자가 되십시오. 이것은 Exec SQL 접두사는이 포함임을 나타냅니다 에 의해 구문 분석됩니다.스포츠 토토 결과. 스포츠 토토 결과사례를 관찰합니다 감도 (SQLCA.H설립하다).Exec SQL 포함를 사용할 수 있습니다 사례 민감도만큼 다른 헤더 파일을 포함하려면 관찰된다.

thesqlprint명령이 사용됩니다 그만큼exec SQL 언제라도진술 프로그램 전체에서 오류 처리를 켜십시오 :

SQLERROR SQLPRINT를 때마다 EXEC SQL;

and

sqlprint를 찾지 못할 때마다 Exec SQL;

참고 :이것은not철저한 예 사용법exec sql 언제라도진술. 사용의 추가 예는 SQL에서 찾을 수 있습니다 매뉴얼 (예 :Lan Times Guide SQL작성자 Groff and Weinberg).

데이터베이스 서버에 연결

하나는 다음을 사용하여 데이터베이스에 연결합니다.

Exec SQL Connectdbname;

데이터베이스 이름이 인용되지 않은 경우. 버전 이전 2.1.0, 데이터베이스 이름은 단일 내부에 있어야했습니다. 인용 부호.

Connect 문에서 서버 및 포트 이름 지정 또한 가능합니다. 구문은 다음과 같습니다.

dbname[@Server] [:포트]

또는

<tcp | unix : postgresql : //Server[:포트] [/dbname] [?옵션]

쿼리

일반적으로 SQL 쿼리는 다른 응용 프로그램에 허용됩니다 와 같은PSQL내장 할 수 있습니다 C 코드로. 다음은 어떻게하는지에 대한 몇 가지 예입니다.

테이블 만들기 :

Exec SQL 생성 테이블 foo (번호 int4, ascii char (16));
exec SQL foo (번호)에서 고유 한 색인 Num1을 만듭니다.
Exec SQL Commit;

삽입 :

exec SQL insert info (숫자, ascii) 값 (9999, 'doodad');
Exec SQL Commit;

삭제 :

exec sql 삭제 foo에서 숫자 = 9999;
Exec SQL Commit;

싱글 톤 선택 :

exec sql foo를 선택하십시오 : aScii = 'doodad';에서 table1에서 foobar.

커서 사용 선택 :

exec SQL 선언 foo_bar 커서
    foo에서 번호, ASCII를 선택하십시오
    ASCII에 의한 주문;
Exec SQL Fetch foo_bar가 들어갑니다 : Foobar, Doodad;
...
Exec SQL Close foo_bar;
Exec SQL Commit;

업데이트 :

Exec SQL 업데이트 foo
    set ascii = 'foobar'
    여기서 번호 = 9999;
Exec SQL Commit;

노트

완전한 구조 정의는 내부에 나열되어야합니다 섹션 선언.

참조TODO소스의 파일 더 빠진 기능.