sql_declare(+Cursor,+SqlCmd,-NoIn,-NoOut,-RC)...
移動
次へ 前へ
上へ 最上
参考
sql_begin
sql_close
sql_close_db
sql_commit
sql_connect_db
sql_declare
sql_descr_in
sql_descr_out
sql_disconnect_db
sql_dualcmd
sql_errmsg
sql_execute
sql_fetch
sql_fetch_buf
sql_fetch_n
sql_get_value
sql_inout
sql_inquire_ingres
sql_logoff
sql_logon
sql_open
sql_open_db
sql_rollback
イフコンピュータ > IF/Prolog > マニュアル > IF/Prolog V4.1 マニュアル > IF/Prolog Interfaces > SQLインタフェースマニュアル > IF/SQL述語レファレンス > sql_declare

sql_declare

MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

sql_declare(+Cursor,+SqlCmd,-NoIn,-NoOut,-RC)

アトムで与えられたSQLコマンド文字列は構文解析され、Cursorと対応付けられます。

NoInにはSqlCmd中のバインド変数の数が返され、NoOutにはSELECTリスト変数の数が返されます。 RC=0は、成功を意味し、RC < 0は、SQLエラーを意味します。(sql_errmsg/1を参照)

SqlCmd中のSQLキーワードは、大文字、小文字のいずれでも書くことができます。

バインド変数名の前には、コロン`:'(ORACLEの場合)か`?'(INFORMIXとINGRESの場合)をつけなければなりません。

selectリスト変数は、検索されたテーブルのコラム、あるいは、min(<column>),<column>+1のようなコラムから作った式でなければなりません。

バインド変数やselectリスト変数の名前については、sql_inout/2の項を参照して下さい。

sql_declare('immediate',SqlCmd,_,_,RC)はsql_execute(SqlCmd,RC)と同等で、翻訳後すぐにSQLコマンドを実行します。この時、バインド変数もselectリスト変数も存在することはできません。

例: ORACLE

?- _SqlCmd = 'SELECT ename,dep FROM EMP where dep=20', sql_declare(c2,_SqlCmd,NoIn,NoOut,RC).

NoIn = 0 NoOut = 2 RC = 0

?- _SqlCmd = 'select * from emp where ename = :name ', sql_declare(c3,_SqlCmd,NoIn,NoOut,RC).

NoIn = 1 NoOut = 6 RC = 0

?- _SqlCmd = 'insert into emp2 (ename,dep) values (:x,:y)', sql_declare(c4,_SqlCmd,NoIn,NoOut,RC).

NoIn = 2 NoOut = 0 RC = 0

例: INFORMIX

?- _SqlCmd = 'SELECT ename,dep FROM EMP where dep=20', sql_declare(c2,_SqlCmd,NoIn,NoOut,RC).

NoIn = 0 NoOut = 2 RC = 0

?- _SqlCmd = 'select * from emp where ename = ?', sql_declare(c3,_SqlCmd,NoIn,NoOut,RC).

NoIn = 1 NoOut = 6 RC = 0

?- _SqlCmd = 'insert into emp2 (ename,dep) values (?,?)', sql_declare(c4,_SqlCmd,NoIn,NoOut,RC).

NoIn = 2 NoOut = 0 RC = 0

続く..
IF/Prolog by Siemens
言語
English
Japanese
German
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/advanced_feature/sql/predref/declare/home_jp.html
published 2008/11/17 update 1995/11/7 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS