TOP をテンプレートにして作成
ホーム
バックアップ
一覧
検索
最終更新
ヘルプ
ログイン
開始行
[[FrontPage]]へ~
-[[リファレンスガイド]]へ~
--[[Firebird SQLリファレンス]]へ~
&br;
----
*Firebird SQLリファレンス:DECLARE EXTERNAL FUNCTION, DECL...
#contents
----
&br;
&aname(declaer_external_function);
*DECLARE EXTERNAL FUNCTION [#h393f2d9]
事前に用意されたユーザー定義関数(UDF)をデータベースで宣...
SQL,DSQL,isql で使用できます。~
**構文 [#c0b07989]
DECLARE EXTERNAL FUNCTION name
[datatype | CSTRING (int) [, datatype | CSTRING (int) …]]
RETURNS {datatype [BY VALUE] | CSTRING (int)} [FREE_IT]
ENTRY_POINT 'entryname'
MODULE_NAME 'modulename';
&br;
※ DSQLで使用する場合、終端文字のセミコロンは不要です。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
&br;
&br;
※ UDFの返す値として動的に確保されたメモリに対する参照を...
FREE_ITキーワードの指定を行い、そのメモリを解放するように...
なりません。~
&br;
&br;
|引数|説明|h
|name|SQL文上で使用する、UDFの名前。後述のENTRY_POINTで指...
|datatype|入力引数または返り値のデータ型です。|
|~|・すべての入力パラメータは、参照渡しでUDFに渡されます。|
|~|・返り値は値渡しが可能です。|
|~|・配列要素は使用できません。|
|CSTRING (int)|UDF用の特殊なデータ型です。指定した長さ以...
|RETURNS|関数の返り値に関する指定を行います。|
|BY VALUE|返り値の渡し方が、(参照渡しではなく)値渡しであ...
|FREE_IT|UDFに関する処理が終了した後に、返り値のために確...
|~|・UDFが動的にメモリを確保している場合にのみ使用します。|
|~|・より詳細な情報が知りたい場合は、Language Reference ...
|'entryname'|UDFライブラリ内での関数名です。ソースコード...
|'modulename'|UDFが含まれるライブラリを識別する名前です。...
|~|・構成ファイルで指定したディレクトリ(通常は"インストー...
|~|・指定ディレクトリ以外を指定する場合は、設定ファイルの...
|~|・(訳注)設定ファイルに関しては、[[設定ファイル(aliases...
|~|・これ以上の情報が欲しい場合は、Developer's Guide の U...
&br;
**詳細の説明 [#c46b44c7]
DECLARE EXTERNAL FUNCTION により、データベースに対してU...
情報を明示します。それは、(UDFライブラリの)存在場所、名前...
戻り値などです。~
UDFを使用する場合、それが使用されるデータベースごとに宣...
行う必要があります。~
UDF自体の機能に変更が加えられても、エントリポイントやモ...
されない限り、UDFを再度宣言しなおす必要はありません。(訳...
データベースの再起動は行う必要があるかもしれません。)~
&br;
entryname は、UDFライブラリに格納された関数の実際の名前...
データベースに格納され使用されるUDFの名前とを一致させる必...
&br;
モジュール名(modulename)の指定には、ファイルのディレク...
はありません。しかし、モジュール(UDFライブラリ)を設置する...
に正しく設定する必要があります。~
(訳注:''Firebird 1.5以上''では、使用は全く推奨されません...
ことが可能です。この場合にはパスを正しく指定する必要があ...
[[設定ファイル(aliases.conf/firebird.conf)のリファレンス]...
-''Firebird 1.0.x''の場合、設定ファイルによりパスを指定す...
設定します。
--Windows(ドライブの指定が必要)
EXTERNAL_FUNCTION_DIRECTORY D:\Mylibraries
--UNIX/Linux/NetWare(ドライブ指定不要)
EXTERNAL_FUNCTION_DIRECTORY /Mylibraries
-''Firebird 1.5以降''の場合は次のようして設定します。詳細...
[[設定ファイル(aliases.conf/firebird.conf)のリファレンス]...
--Windows(ドライブの指定が必要)
UdfAccess = Restrict D:\Mylibraries
--UNIX/Linux/NetWare(ドライブ指定不要)
UdfAccess = Restrict /Mylibraries
&br;
設定ファイルのファイル名はバージョン及び環境によって異...
以下のようになっています。
-Firebird 1.0.x / IB6
--Windows : ibconfig
--UNIX系 : isc_config
--NetWare : isc_conf
-Firebird 1.5以降~
firebird.conf
※※※※※ NetWareに関しては完全にレガシーサポートなので訳を割...
FOR NETWARE SERVERS Beginning with InterBase 5.6, the UDF...
&br;
1. On a Windows client, connect to the database where you...
2. Run the ib_udf.sql script that is located in the ib_in...
&br;
**用例 [#a1bb9a59]
すべて isql での例です。
-現在のデータベースで、TOPS()という UDF を宣言します。~
戻り値の型がCSTRING,CHAR,VARCHARデータ型の場合のみ動的確...
この例のようにINTEGERを返す場合は FREE_IT は指定しません。
DECLARE EXTERNAL FUNCTION TOPS
CHAR(256), INTEGER, BLOB
RETURNS INTEGER BY VALUE
ENTRY_POINT 'te1' MODULE_NAME 'tm1.dll';
&br;
-LOWERS() という UDF を宣言します。このUDFでは、値を返す...
行っていますので、FREE_ITを指定しています。
DECLARE EXTERNAL FUNCTION LOWERS VARCHAR(256)
RETURNS CSTRING(256) FREE_IT
ENTRY POINT 'fn_lower' MODULE_NAME 'udflib.dll';
&br;
**参照 [#m23d5a9b]
[[DROP EXTERNAL FUNCTION>#drop_external_function]]~
&br;
UDF自体を記述する方法に関しては、Developer's Guide の W...
参照して下さい。~
&br;
&br;
&br;
----
&br;
&br;
&aname(declare_filter);
*DECLARE FILTER [#z7bc415a]
BLOBフィルタをデータベースで宣言します。
SQL,DSQL,isql で使用できます。~
**構文 [#e843878d]
DECLARE FILTER filter
INPUT_TYPE subtype OUTPUT_TYPE subtype
ENTRY_POINT 'entryname' MODULE_NAME 'modulename';
&br;
※ DSQLで使用する場合、終端文字のセミコロンは不要です。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
&br;
&br;
|引数|説明|h
|filter|フィルタの名前です。データベース内においてフィル...
|INPUT_TYPE subtype|変換するデータのBLOBサブタイプを指定...
|OUTPUT_TYPE subtype|変換後のデータのBLOBサブタイプを指定...
|'entryname'|BLOBフィルタが格納されたリンクするライブラリ...
|'modulename'|BLOBフィルタが格納されたライブラリを識別す...
&br;
**詳細の説明 [#ce81a26f]
DECLARE FILTER により、事前に用意したBLOBフィルタに関す...
データベースに明示します。それは、(ライブラリの)存在場所...
入出力サブタイプなどです。~
BLOBフィルタとは、ユーザが記述できるプログラムで、異な...
間での変換を行うものです。~
&br;
INPUT_TYPE と OUTPUT_TYPE の両者の指定により、BLOBフィ...
します。データベースにおいて宣言されたすべてのBLOBフィル...
指定する整数の組合わせは一意であるべきです。テキストを取...
データベースエンジンには"1"の値が組み込まれています。ユー...
定義する場合には、これらの規定の値と衝突しないようにしな...
&br;
entryname は、ライブラリに格納されたBLOBフィルタの名前...
アプリケーションがフィルタ機能を使用するとき、この名前を...
が呼び出されます。~
&br;
''重要'' NetWareサーバでは DECLARE FILTER は使用できませ...
&br;
**用例 [#zbb204c6]
isqlで、BLOBフィルタを宣言します。
DECLARE FILTER DESC_FILTER
INPUT_TYPE 1
OUTPUT_TYPE -4
ENTRY_POINT 'desc_filter'
MODULE_NAME 'FILTERLIB';
&br;
**参照 [#p87b6bba]
[[DROP FILTER>#drop_filter]]~
&br;
BLOBフィルタを記述したい場合は、Embedded SQL Guide を参...
これ以上の情報が欲しい場合は、[[キャラクタセット・デー...
データ型・BLOBサブタイプの補足や、Data Definition Guide ...
を参照して下さい。~
&br;
&br;
&br;
----
&br;
&br;
&aname(drop_external_function);
*DROP EXTERNAL FUNCTION [#zd2eb682]
データベースから、ユーザー定義関数(UDF)の定義を削除しま...
SQL,DSQL,isql で使用できます。~
**構文 [#u06aab15]
DROP EXTERNAL FUNCTION name;
&br;
※ DSQLで使用する場合、終端文字のセミコロンは不要です。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
&br;
&br;
|引数|説明|h
|name|定義の削除を行う、既存UDFの名前です。|
&br;
**詳細の説明 [#c76af6eb]
DROP EXTERNAL FUNCTION により、UDFの定義をデータベース...
データベースからUDFの定義を削除しても、そのUDFが所属するU...
は削除されませんが、データベースからそのUDFにアクセスする...
なります。UDFの定義が削除されると、それに依存しているアプ...
においてランタイムエラーが発生するでしょう。~
&br;
UDF定義の削除は、作成者、SYSDBAユーザーもしくはOSのルー...
ユーザーのみが実行できます。~
&br;
※※※※※ NetWareに関しては完全にレガシーサポートなので訳を割...
''Important'' UDFs are not available for databases on Net...
&br;
**用例 [#u83cc5c4]
isqlで、UDF定義を削除します。
DROP EXTERNAL FUNCTION TOPS;
&br;
**参照 [#y9f960f2]
[[DECLARE EXTERNAL FUNCTION>#declaer_external_function]]~
&br;
&br;
&br;
----
&br;
&br;
&aname(drop_filter);
*DROP FILTER [#x904b6d9]
データベースから、BLOBフィルタの定義を削除します。
SQL,DSQL,isql で使用できます。~
**構文 [#b854f507]
DROP FILTER name;
&br;
※ DSQLで使用する場合、終端文字のセミコロンは不要です。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
&br;
&br;
|引数|説明|h
|name|定義の削除を行う、既存のBLOBフィルタの名前です。|
&br;
**詳細の説明 [#ue1187a0]
DROP FILTER により、BLOBフィルタの定義をデータベースよ...
データベースからBLOBフィルタの定義を削除しても、そのフィ...
フィルタライブラリからは削除されませんが、データベースか...
アクセスすることが出来なくなります。
フィルタの定義が削除されると、それに依存しているアプリケ...
においてランタイムエラーが発生するでしょう。~
&br;
何らかの処理でフィルタが使用中の場合、DROP FILTER は失...
返します。~
&br;
BLOBフィルタ定義の削除は、作成者、SYSDBAユーザーもしく...
を持ったユーザーのみが実行できます。~
&br;
''重要'' NetWareサーバでは BLOBフィルタ機能は使用できま...
&br;
**用例 [#pfa36d30]
isqlで、BLOBフィルタの削除を行います。~
DROP FILTER DESC_FILTER;
&br;
**参照 [#cfc83c30]
[[DECLARE FILTER>#declare_filter]]~
&br;
最終行:
[[FrontPage]]へ~
-[[リファレンスガイド]]へ~
--[[Firebird SQLリファレンス]]へ~
&br;
----
*Firebird SQLリファレンス:DECLARE EXTERNAL FUNCTION, DECL...
#contents
----
&br;
&aname(declaer_external_function);
*DECLARE EXTERNAL FUNCTION [#h393f2d9]
事前に用意されたユーザー定義関数(UDF)をデータベースで宣...
SQL,DSQL,isql で使用できます。~
**構文 [#c0b07989]
DECLARE EXTERNAL FUNCTION name
[datatype | CSTRING (int) [, datatype | CSTRING (int) …]]
RETURNS {datatype [BY VALUE] | CSTRING (int)} [FREE_IT]
ENTRY_POINT 'entryname'
MODULE_NAME 'modulename';
&br;
※ DSQLで使用する場合、終端文字のセミコロンは不要です。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
&br;
&br;
※ UDFの返す値として動的に確保されたメモリに対する参照を...
FREE_ITキーワードの指定を行い、そのメモリを解放するように...
なりません。~
&br;
&br;
|引数|説明|h
|name|SQL文上で使用する、UDFの名前。後述のENTRY_POINTで指...
|datatype|入力引数または返り値のデータ型です。|
|~|・すべての入力パラメータは、参照渡しでUDFに渡されます。|
|~|・返り値は値渡しが可能です。|
|~|・配列要素は使用できません。|
|CSTRING (int)|UDF用の特殊なデータ型です。指定した長さ以...
|RETURNS|関数の返り値に関する指定を行います。|
|BY VALUE|返り値の渡し方が、(参照渡しではなく)値渡しであ...
|FREE_IT|UDFに関する処理が終了した後に、返り値のために確...
|~|・UDFが動的にメモリを確保している場合にのみ使用します。|
|~|・より詳細な情報が知りたい場合は、Language Reference ...
|'entryname'|UDFライブラリ内での関数名です。ソースコード...
|'modulename'|UDFが含まれるライブラリを識別する名前です。...
|~|・構成ファイルで指定したディレクトリ(通常は"インストー...
|~|・指定ディレクトリ以外を指定する場合は、設定ファイルの...
|~|・(訳注)設定ファイルに関しては、[[設定ファイル(aliases...
|~|・これ以上の情報が欲しい場合は、Developer's Guide の U...
&br;
**詳細の説明 [#c46b44c7]
DECLARE EXTERNAL FUNCTION により、データベースに対してU...
情報を明示します。それは、(UDFライブラリの)存在場所、名前...
戻り値などです。~
UDFを使用する場合、それが使用されるデータベースごとに宣...
行う必要があります。~
UDF自体の機能に変更が加えられても、エントリポイントやモ...
されない限り、UDFを再度宣言しなおす必要はありません。(訳...
データベースの再起動は行う必要があるかもしれません。)~
&br;
entryname は、UDFライブラリに格納された関数の実際の名前...
データベースに格納され使用されるUDFの名前とを一致させる必...
&br;
モジュール名(modulename)の指定には、ファイルのディレク...
はありません。しかし、モジュール(UDFライブラリ)を設置する...
に正しく設定する必要があります。~
(訳注:''Firebird 1.5以上''では、使用は全く推奨されません...
ことが可能です。この場合にはパスを正しく指定する必要があ...
[[設定ファイル(aliases.conf/firebird.conf)のリファレンス]...
-''Firebird 1.0.x''の場合、設定ファイルによりパスを指定す...
設定します。
--Windows(ドライブの指定が必要)
EXTERNAL_FUNCTION_DIRECTORY D:\Mylibraries
--UNIX/Linux/NetWare(ドライブ指定不要)
EXTERNAL_FUNCTION_DIRECTORY /Mylibraries
-''Firebird 1.5以降''の場合は次のようして設定します。詳細...
[[設定ファイル(aliases.conf/firebird.conf)のリファレンス]...
--Windows(ドライブの指定が必要)
UdfAccess = Restrict D:\Mylibraries
--UNIX/Linux/NetWare(ドライブ指定不要)
UdfAccess = Restrict /Mylibraries
&br;
設定ファイルのファイル名はバージョン及び環境によって異...
以下のようになっています。
-Firebird 1.0.x / IB6
--Windows : ibconfig
--UNIX系 : isc_config
--NetWare : isc_conf
-Firebird 1.5以降~
firebird.conf
※※※※※ NetWareに関しては完全にレガシーサポートなので訳を割...
FOR NETWARE SERVERS Beginning with InterBase 5.6, the UDF...
&br;
1. On a Windows client, connect to the database where you...
2. Run the ib_udf.sql script that is located in the ib_in...
&br;
**用例 [#a1bb9a59]
すべて isql での例です。
-現在のデータベースで、TOPS()という UDF を宣言します。~
戻り値の型がCSTRING,CHAR,VARCHARデータ型の場合のみ動的確...
この例のようにINTEGERを返す場合は FREE_IT は指定しません。
DECLARE EXTERNAL FUNCTION TOPS
CHAR(256), INTEGER, BLOB
RETURNS INTEGER BY VALUE
ENTRY_POINT 'te1' MODULE_NAME 'tm1.dll';
&br;
-LOWERS() という UDF を宣言します。このUDFでは、値を返す...
行っていますので、FREE_ITを指定しています。
DECLARE EXTERNAL FUNCTION LOWERS VARCHAR(256)
RETURNS CSTRING(256) FREE_IT
ENTRY POINT 'fn_lower' MODULE_NAME 'udflib.dll';
&br;
**参照 [#m23d5a9b]
[[DROP EXTERNAL FUNCTION>#drop_external_function]]~
&br;
UDF自体を記述する方法に関しては、Developer's Guide の W...
参照して下さい。~
&br;
&br;
&br;
----
&br;
&br;
&aname(declare_filter);
*DECLARE FILTER [#z7bc415a]
BLOBフィルタをデータベースで宣言します。
SQL,DSQL,isql で使用できます。~
**構文 [#e843878d]
DECLARE FILTER filter
INPUT_TYPE subtype OUTPUT_TYPE subtype
ENTRY_POINT 'entryname' MODULE_NAME 'modulename';
&br;
※ DSQLで使用する場合、終端文字のセミコロンは不要です。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
&br;
&br;
|引数|説明|h
|filter|フィルタの名前です。データベース内においてフィル...
|INPUT_TYPE subtype|変換するデータのBLOBサブタイプを指定...
|OUTPUT_TYPE subtype|変換後のデータのBLOBサブタイプを指定...
|'entryname'|BLOBフィルタが格納されたリンクするライブラリ...
|'modulename'|BLOBフィルタが格納されたライブラリを識別す...
&br;
**詳細の説明 [#ce81a26f]
DECLARE FILTER により、事前に用意したBLOBフィルタに関す...
データベースに明示します。それは、(ライブラリの)存在場所...
入出力サブタイプなどです。~
BLOBフィルタとは、ユーザが記述できるプログラムで、異な...
間での変換を行うものです。~
&br;
INPUT_TYPE と OUTPUT_TYPE の両者の指定により、BLOBフィ...
します。データベースにおいて宣言されたすべてのBLOBフィル...
指定する整数の組合わせは一意であるべきです。テキストを取...
データベースエンジンには"1"の値が組み込まれています。ユー...
定義する場合には、これらの規定の値と衝突しないようにしな...
&br;
entryname は、ライブラリに格納されたBLOBフィルタの名前...
アプリケーションがフィルタ機能を使用するとき、この名前を...
が呼び出されます。~
&br;
''重要'' NetWareサーバでは DECLARE FILTER は使用できませ...
&br;
**用例 [#zbb204c6]
isqlで、BLOBフィルタを宣言します。
DECLARE FILTER DESC_FILTER
INPUT_TYPE 1
OUTPUT_TYPE -4
ENTRY_POINT 'desc_filter'
MODULE_NAME 'FILTERLIB';
&br;
**参照 [#p87b6bba]
[[DROP FILTER>#drop_filter]]~
&br;
BLOBフィルタを記述したい場合は、Embedded SQL Guide を参...
これ以上の情報が欲しい場合は、[[キャラクタセット・デー...
データ型・BLOBサブタイプの補足や、Data Definition Guide ...
を参照して下さい。~
&br;
&br;
&br;
----
&br;
&br;
&aname(drop_external_function);
*DROP EXTERNAL FUNCTION [#zd2eb682]
データベースから、ユーザー定義関数(UDF)の定義を削除しま...
SQL,DSQL,isql で使用できます。~
**構文 [#u06aab15]
DROP EXTERNAL FUNCTION name;
&br;
※ DSQLで使用する場合、終端文字のセミコロンは不要です。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
&br;
&br;
|引数|説明|h
|name|定義の削除を行う、既存UDFの名前です。|
&br;
**詳細の説明 [#c76af6eb]
DROP EXTERNAL FUNCTION により、UDFの定義をデータベース...
データベースからUDFの定義を削除しても、そのUDFが所属するU...
は削除されませんが、データベースからそのUDFにアクセスする...
なります。UDFの定義が削除されると、それに依存しているアプ...
においてランタイムエラーが発生するでしょう。~
&br;
UDF定義の削除は、作成者、SYSDBAユーザーもしくはOSのルー...
ユーザーのみが実行できます。~
&br;
※※※※※ NetWareに関しては完全にレガシーサポートなので訳を割...
''Important'' UDFs are not available for databases on Net...
&br;
**用例 [#u83cc5c4]
isqlで、UDF定義を削除します。
DROP EXTERNAL FUNCTION TOPS;
&br;
**参照 [#y9f960f2]
[[DECLARE EXTERNAL FUNCTION>#declaer_external_function]]~
&br;
&br;
&br;
----
&br;
&br;
&aname(drop_filter);
*DROP FILTER [#x904b6d9]
データベースから、BLOBフィルタの定義を削除します。
SQL,DSQL,isql で使用できます。~
**構文 [#b854f507]
DROP FILTER name;
&br;
※ DSQLで使用する場合、終端文字のセミコロンは不要です。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
&br;
&br;
|引数|説明|h
|name|定義の削除を行う、既存のBLOBフィルタの名前です。|
&br;
**詳細の説明 [#ue1187a0]
DROP FILTER により、BLOBフィルタの定義をデータベースよ...
データベースからBLOBフィルタの定義を削除しても、そのフィ...
フィルタライブラリからは削除されませんが、データベースか...
アクセスすることが出来なくなります。
フィルタの定義が削除されると、それに依存しているアプリケ...
においてランタイムエラーが発生するでしょう。~
&br;
何らかの処理でフィルタが使用中の場合、DROP FILTER は失...
返します。~
&br;
BLOBフィルタ定義の削除は、作成者、SYSDBAユーザーもしく...
を持ったユーザーのみが実行できます。~
&br;
''重要'' NetWareサーバでは BLOBフィルタ機能は使用できま...
&br;
**用例 [#pfa36d30]
isqlで、BLOBフィルタの削除を行います。~
DROP FILTER DESC_FILTER;
&br;
**参照 [#cfc83c30]
[[DECLARE FILTER>#declare_filter]]~
&br;
ページ名:
新規
名前変更
ホーム
一覧
検索
最終更新
バックアップ
ヘルプ
最終更新のRSS