2

プロローグを勉強中です。私には先に仕事があります。Prolog ODBC INterface を使用して、mysql や MSSQL などのデータベースにデータを挿入する必要があります。私はいくつかの例の述語(SWI-PROLOG)があることを知っています

open_wordnet :-
    odbc_connect('WordNet', _,
                 [ user(jan),
                   password(xxx),
                   alias(wordnet),
                   open(once)
                 ]).

これらの述語を正確に使用する方法がわかりません。実際の例を示します。プロローグからMySSQLやMSSQLなどのデータベースにデータを挿入するためにこれらを正確に使用する方法を教えてください。ProLOGで同じことを達成するための正確な要件を教えてください。

どんな助けや情報も大歓迎です。

ありがとうございました。

4

3 に答える 3

1

このメーリング リストの会話には古い例が埋め込まれています (「test_1」を探してください)。私はそれを使ったことはありませんが、se_greensladesは ODBC データベースのインスタンス名だと思います。ローカル設定で自分のものを検索する必要があります。その後、通常の SQL ステートメント (odbc_prepare?! 内) を使用して挿入と更新を行っていると思います。既にリンクしている SWI ドキュメントを確認し、インターネットで基本的な ODBC の使用方法を検索します (SWI インターフェイスはかなり標準的だと思います)。

「ProLOG」とはどういう意味ですか?

于 2009-09-14T10:21:24.230 に答える
0

この例はどうですか?

:- use_module(oracle).

go :-
    db_open('Your Database Name', 'scott', 'tiger'),
    db_import('DEPT'('DEPTNO', 'DNAME', 'LOC'), dept),
    db_import('EMP'('EMPNO', 'ENAME', 'JOB', 'MGR', 'HIREDATE', 'SAL', 'COMM', 'DEPTNO'), emp),
    %% Uncomment it, if you do not want to see SQL statements.
    %% db_flag(show_query, _, off),
    db_query(empinfo(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, DNAME, LOC),
        (   emp(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO),
            dept(DEPTNO, DNAME, LOC)
        )
    ),
    get_result,
    db_close.

get_result:-
    empinfo(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, DNAME, LOC),
    write_ln([EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO, DNAME, LOC]),
    fail.
get_result.

ここから取得:http://www.geocities.com/SiliconValley/Bit/1116/PrologSQLex01.html

于 2009-09-15T08:26:25.190 に答える