XCIISESAM データベース関数
SESAM/SQL-Server ã¯ã€ãƒ‰ã‚¤ãƒ„ã® Fujitsu Siemens コンピュータã«ã‚ˆã‚Šé–‹
発ã•ã‚ŒãŸãƒ¡ã‚¤ãƒ³ãƒ•ãƒ¬ãƒ¼ãƒ 上ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚·ã‚¹ãƒ†ãƒ ã§ã™ã€‚ã“ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼
スã¯ã€ãƒã‚¤ã‚¨ãƒ³ãƒ‰ã®ãƒ¡ã‚¤ãƒ³ãƒ•ãƒ¬ãƒ¼ãƒ 上ã§ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ
BS2000/OSD を使用ã—ã¦å‹•ä½œã—ã¾ã™ã€‚
数多ãã®BS2000システムã«ã¦å®Ÿé‹ç”¨ã•ã‚Œã€SESAM/SQL-Server ã¯ä»¥ä¸‹ã®äº‹
é …ã‚’å®Ÿè¨¼ã—ã¦ã„ã¾ã™ã€‚
Javaã€Web ベースã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ/サーãƒæŽ¥ç¶šãŒç°¡å˜ã«å¯èƒ½
99.99% 以上ã®ç¢ºçŽ‡ã§æœ‰åŠ¹ã«å‹•ä½œã™ã‚‹èƒ½åŠ›
数万ã‹ã‚‰æ•°å万ã®ãƒ¦ãƒ¼ã‚¶ã‚’管ç†ã™ã‚‹èƒ½åŠ›
PHPスクリプトã«ã‚ˆã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å‡¦ç†ã‚’å¯èƒ½ã«ã™ã‚‹ PHP3 SESAM インター
フェースãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚
è¨å®šä¸Šã®æ³¨æ„
PHP SESAMインタフェースã¯ã€ã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒãƒ³ç‰ˆã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。
Apache モジュール版ã¨ã—ã¦çµ„ã¿è¾¼ã¾ã‚ŒãŸå ´åˆã®ã¿å‹•ä½œã—ã¾ã™ã€‚Apache
PHP モジュールã«ãŠã„ã¦ã€SESAMイン
タフェース ã¯ã€Apache 用ディレクティブã«ã‚ˆã‚Šè¨å®šã•ã‚Œã¾ã™ã€‚
表 1SESAM è¨å®šç”¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–
ディレクティブ | æ„味 |
---|
php3_sesam_oml |
ãƒãƒ¼ãƒ‰å¯èƒ½ãªSESAMドライãƒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒå«ã¾ã‚Œã‚‹BS2000 PLAM ラ
イブラリã®åå‰ã€‚SESAM関数を使用ã™ã‚‹ãŸã‚ã«å¿…è¦ã€‚
例:
|
php3_sesam_configfile |
SESAM
SESAMアプリケーションè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã€‚SESAM関数を使用ã™ã‚‹
éš›ã«å¿…è¦ã€‚
例:
通常ã€æ¬¡ã®ã‚ˆã†ãªè¨å®šãŒå«ã¾ã‚Œã¾ã™ã€‚(SESAMリファレンスマニュ
アルをå‚ç…§)
|
php3_sesam_messagecatalog |
SESAMメッセージカタãƒã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã€‚多ãã®å ´åˆã€ã“ã®ãƒ‡ã‚£
レクティブã¯ä¸è¦ã§ã™ã€‚SESAMメッセージファイルãŒã‚·ã‚¹ãƒ†ãƒ
BS2000メッセージファイルã¦ãƒ¼ã¶ã‚Šã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ãªã„å ´
åˆã«ã®ã¿ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’è¨å®šã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚
例:
|
PHP/SESAMインターフェースã®è¨å®šã«åŠ ãˆã¦ã€ãƒ¡ã‚¤ãƒ³ãƒ•ãƒ¬ãƒ¼ãƒ 上ã®SESAM
データベースサーãƒãƒ¼è‡ªä½“ã‚’è¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã€æ¬¡ã®ã‚ˆ
ã†ã«ãªã‚Šã¾ã™ã€‚
PHPスクリプトã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒãƒ³ãƒ‰ãƒ©ã®é–“ã®æŽ¥ç¶šã‚’å¾—ã‚‹ã«ã¯ã€é¸æŠžã—ãŸ
SESAMè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ラメータ CNF ãŠã‚ˆã³
NAM ãŒå®Ÿè¡Œä¸ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒãƒ³ãƒ‰ãƒ©ã®IDã«ä¸€è‡´ã—
ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
分散型データベースã®å ´åˆã€ãƒ›ã‚¹ãƒˆãŠã‚ˆã³ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹åを有ã™ã‚‹åˆ†é…
テーブルを指定ã—ã¦SESAM/SQL-DCNエージェントを開始ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾
ã™ã€‚
(POSIXサブシステムã§å®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹)PHPã¨(POSIXサブシステムã®å¤–ã§
実行ã•ã‚Œã¦ã„ã‚‹)データベースãƒãƒ³ãƒ‰ãƒ©ã®é–“ã®é€šä¿¡ã¯ã€SQLSCIã¨ã„ã†åå‰
ã®ç‰¹åˆ¥ãªãƒ‰ãƒ©ã‚¤ãƒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨é€šå¸¸ãƒ¡ãƒ¢ãƒªã‚’使用ã™ã‚‹SESAM接続モジュー
ルã§å®Ÿç¾ã•ã‚Œã¾ã™ã€‚通常メモリアクセスã®ãŸã‚ã€ãã—ã¦ã€PHPã¯Webサー
ãƒã®é™çš„部分ã§ã‚ã‚‹ãŸã‚ã€ODBCã€JDBCã€UTM経由ã®ãƒªãƒ¢ãƒ¼ãƒˆã‚¢ã‚¯ã‚»ã‚¹ã¯ä¸
è¦ã§ã‚ã‚Šã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¯éžå¸¸ã«é«˜é€Ÿã§ã™ã€‚
スモールスタブãƒãƒ¼ãƒ€(SESMOD)ã®ã¿ãŒPHPã«ãƒªãƒ³ã‚¯ã•ã‚Œã¦ãŠã‚Šã€SESAM接
続モジュールã¯SESAMã®OML PLAMライブラリã‹ã‚‰ãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚
è¨å®šã®éš›ã€ã“ã®PLAMライブラ
リã®åå‰ã¨SESAMè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã™ã‚‹ãŸã‚ã®ãƒ•ã‚¡ã‚¤ãƒ«ãƒªãƒ³ã‚¯ã‚’PHPã«
指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚(SESAM V3.0 ã«ãŠã„ã¦ã€SQLSCI ã¯æ¨™æº–é…布ã®
SESAMツールライブラリã‹ã‚‰å…¥æ‰‹å¯èƒ½ã§ã™)
SQLコマンドã«ãŠã‘るシングルクオートã®ã‚¯ã‚ªãƒ¼ãƒˆã¯ã€(シングルクオー
トã®å‰ã«ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’ä»˜åŠ ã™ã‚‹ã®ã§ã¯ãªãã€)シングルクオートを
2ã¤é‡ãã¦ä½¿ç”¨ã™ã‚‹ãŸã‚ã€SESAMインターフェースを使用ã™ã‚‹å…¨ã¦ã®PHPス
クリプトã«ã¤ã„ã¦ã€PHPè¨å®šãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㧠php3_magic_quotes_gpc
ãŠã‚ˆã³
php3_magic_quotes_sybase ã‚’
On ã«ã—ã¦ãŠãæ–¹ãŒè³¢æ˜Žã§ã—ょã†ã€‚
実行時ã®è€ƒæ…®
BS2000 モデルã®åˆ¶é™ã®ãŸã‚ã«ã€ãƒ‰ãƒ©ã‚¤ãƒã¯ã€Apache サーãƒãŒãã®ã‚µãƒ¼
ãƒã®åプãƒã‚»ã‚¹ã‚’フォークã—ãŸå¾Œã«ã®ã¿ãƒãƒ¼ãƒ‰å¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ã“ã‚Œã¯ã€
å„åプãƒã‚»ã‚¹ã®æœ€åˆã®SESAMリクエストを若干é…ãã—ã¾ã™ãŒã€ãã®å¾Œã®ã‚¢
クセスã¸ã®å¿œç”ã¯æœ€é«˜é€Ÿåº¦ã¨ãªã‚Šã¾ã™ã€‚
SESAM用ã®æ˜Žç¤ºçš„ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚«ã‚¿ãƒã‚°ã‚’定義ã—ãŸå ´åˆã€ãã®ã‚«ã‚¿ãƒã‚°ã¯
ドライãƒãŒãƒãƒ¼ãƒ‰ã•ã‚Œã‚‹åº¦(ã™ãªã‚ã¡ã€æœ€åˆã®SESAMリクエスト時ã«)ã«ãƒãƒ¼
ドã•ã‚Œã¾ã™ã€‚BS2000 オペレーティングシステムã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚«ã‚¿ãƒã‚°ã®
ãƒãƒ¼ãƒ‰ã«æˆåŠŸã—ãŸå¾Œã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã—ã¾ã™ã€‚ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯ã€
Apacheã®error_logファイルã«é€ä¿¡ã•ã‚Œã¾ã™ã€‚BS2000ã¯ç¾åœ¨ã€ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼
ジã®å‡ºåŠ›ã‚’åœæ¢ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。ã“ã®ãŸã‚ã€ãƒã‚°ã‚’段々ã¨åŸ‹ã‚ã¦
ã„ãã¾ã™ã€‚
SESAM OML PLAM ライブラリã¨SESAMè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã¯ã€Webサーãƒã‚’実行ã—
ã¦ã„るユーザIDã‹ã‚‰èªã¿è¾¼ã¿å¯èƒ½ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ä¸‹ã•ã„。ãã†ã§
ãªã„å ´åˆã€ã‚µãƒ¼ãƒã¯ãƒ‰ãƒ©ã‚¤ãƒã‚’ãƒãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ãŒã§ããšã€SESAM関数をコー
ルã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。ã¾ãŸã€Apacheサーãƒã‚’実行ã—ã¦ã„るユーザID
ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ãã†ã§
ãªã„å ´åˆã€SESAMデータベースãƒãƒ³ãƒ‰ãƒ©ã¸ã®æŽ¥ç¶šã¯å¤±æ•—ã—ã¾ã™ã€‚
カーソル型
SQL "select åž‹"クエリ用ã«ç¢ºä¿ã•ã‚ŒãŸçµæžœã‚«ãƒ¼ã‚½ãƒ«ã¯ã€"sequential"ã¾
ãŸã¯"scrollable"ã®ã©ã¡ã‚‰ã‹ã¨ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚"scrollable"カー
ソルã§å¿…è¦ãªãƒ¡ãƒ¢ãƒªã‚ªãƒ¼ãƒãƒ˜ãƒƒãƒ‰ã¯ã‚ˆã‚Šå¤§ãã„ãŸã‚ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯
"sequential" ã§ã™ã€‚
"scrollable"カーソルを使用ã—ãŸå ´åˆã€ã‚«ãƒ¼ã‚½ãƒ«ã¯çµæžœé›†åˆã®ä¸ã§è‡ªç”±
ã«ç§»å‹•å¯èƒ½ã§ã™ã€‚å„"scrollable"クエリã«ã¤ã„ã¦ã€ã‚¹ã‚¯ãƒãƒ¼ãƒ«åž‹ã®ã‚°ãƒãƒ¼
ãƒãƒ«ãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤(SESAM_SEEK_NEXTã«åˆæœŸåŒ–ã•ã‚Œ
ã¾ã™)ãŒã‚ã‚Šã€ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã‚ªãƒ•ã‚»ãƒƒãƒˆã¯ã€
sesam_seek_row() ã«ã‚ˆã‚Šä¸€å›žè¨å®šã•ã‚Œã‚‹ã‹ã€
sesam_fetch_row() ã«ã‚ˆã‚Šãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’å–å¾—ã™ã‚‹åº¦ã«
è¨å®šã•ã‚Œã‚‹ã‹ã®ã©ã¡ã‚‰ã‹ã§ã™ã€‚"scrollable"カーソルを使用ã—ã¦ãƒ¬ã‚³ãƒ¼
ドをå–å¾—ã™ã‚‹éš›ã«ã€ã‚¹ã‚¯ãƒãƒ¼ãƒ«åž‹ãŠã‚ˆã³ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã‚ªãƒ•ã‚»ãƒƒãƒˆã®ã‚°ãƒãƒ¼
ãƒãƒ«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã«ã¤ã„ã¦æ¬¡ã®ã‚ˆã†ãªãƒã‚¹ãƒˆå‡¦ç†è¡Œã‚ã‚Œã¾ã™ã€‚
表 2スクãƒãƒ¼ãƒ«å¾Œã®ã‚«ãƒ¼ã‚½ãƒ«ã«é–¢ã™ã‚‹ãƒã‚¹ãƒˆå‡¦ç†
スクãƒãƒ¼ãƒ«åž‹ | 動作 |
---|
SESAM_SEEK_NEXT | ãªã— |
SESAM_SEEK_PRIOR | ãªã— |
SESAM_SEEK_FIRST |
スクãƒãƒ¼ãƒ«åž‹ã‚’ SESAM_SEEK_NEXT ã«è¨å®š
|
SESAM_SEEK_LAST |
スクãƒãƒ¼ãƒ«åž‹ã‚’ SESAM_SEEK_PRIOR ã«è¨å®š
|
SESAM_SEEK_ABSOLUTE |
内部オフセット値を自動的ã«å¢—åŠ ã•ã›ã‚‹
|
SESAM_SEEK_RELATIVE |
ãªã—。(ã‚°ãƒãƒ¼ãƒãƒ«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ offset
ã‚’ä¿æŒã™ã‚‹ã€‚ã“ã‚Œã«ã‚ˆã‚Šã€ä¾‹ãˆã°ã€10個å‰ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’å–å¾—ã™ã‚‹ã¨
ã„ã£ãŸã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™)
|
移æ¤æ™‚ã®æ³¨æ„
PHPã§ã¯ã€é…列ã®æ·»å—ã¯(1よりも)0ã‹ã‚‰å§‹ã¾ã‚‹ã®ãŒæ™®é€šãªãŸã‚ã€ã„ãã¤ã‹
ã®èª¿æ•´ãŒSESAMインターフェースã§è¡Œã‚ã‚Œã¦ã„ã¾ã™ã€‚ã‚ã‚‹æ·»å—é…列ãŒãƒãƒ¼
ティブã®SESAMインターフェースã§æ·»å—1ã‹ã‚‰å§‹ã¾ã‚‹éš›ã«ã¯ã€PHPインター
フェースã§ã¯æœ€åˆã®æ·»å—ã¨ã—ã¦0を使用ã—ã¾ã™ã€‚例ãˆã°ã€
sesam_fetch_row() ã§ã‚«ãƒ©ãƒ ã‚’å–å¾—ã™ã‚‹éš›ã«ã€æœ€åˆ
ã®ã‚«ãƒ©ãƒ ã®æ·»å—ã¯0ã§ã‚ã‚Šã€ãã®å¾Œã®ã‚«ãƒ©ãƒ 番å·ã¯ã‚«ãƒ©ãƒ æ•°
($array["count"])ã«é”ã™ã‚‹ã¾ã§(カラム数ã¯å«ã¾ãš)増ãˆã¦ã„ãã¾ã™ã€‚
SESAMアプリケーションを他ã®é«˜ç´šè¨€èªžã‹ã‚‰PHPã«ç§»æ¤ã™ã‚‹éš›ã«ã¯ã€ã“ã®
インターフェース上ã®å¤‰æ›´ã«ç•™æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚å„PHP sesam é–¢
æ•°ã®èª¬æ˜Žã®é©åˆ‡ãªå ´æ‰€ã«æ·»å—ãŒ0ã‹ã‚‰å§‹ã¾ã‚‹ã¨ã„ã†æ³¨æ„ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚
ã‚»ã‚ュリティã®è€ƒæ…®
SESAMデータベースã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ãªå ´åˆã€Webサーãƒã®ãƒ¦ãƒ¼ã‚¶ã¯ã€
å¯èƒ½ãªé™ã‚Šå°ã•ãªæ¨©é™ã®ã¿ã‚’有ã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚多ãã®ãƒ‡ãƒ¼ã‚¿
ベースã§ã¯è¨±å¯ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã¯èªã¿è¾¼ã¿æ¨©é™ã®ã¿ã§ã™ã€‚使用ã™ã‚‹è¨
定ã«å¿œã˜ã¦çŠ¶æ³ã«è¦‹åˆã£ãŸã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ã‚’è¿½åŠ ã—ã¦ä¸‹ã•ã„。決ã—ã¦ãƒãƒƒ
トã‹ã‚‰ã®å…¨ã¦ã®ãƒ¦ãƒ¼ã‚¶ã«å…¨ã¦ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸ã®å®Œå…¨ãªåˆ¶å¾¡æ¨©ã‚’許å¯ã—
ãªã„ã§ä¸‹ã•ã„! データベースを管ç†ã™ã‚‹PHPスクリプトã¸ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶é™
ã¯ã€ãƒ‘スワード制é™ã¾ãŸã¯SSLã‚»ã‚ュリティã«ã‚ˆã‚Šåˆ¶é™ã—ã¦ä¸‹ã•ã„。
ä»–ã®SQLデータベースã‹ã‚‰ã®ç§»è¡Œ
SQLã«ã¯æ–¹è¨€ãŒã‚ã‚‹ãŸã‚100%互æ›ã§ã¯ã‚ã‚Šã¾ã›ã‚“。他ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¤ãƒ³
ターフェースã‹ã‚‰SQLアプリケーションをSESAMã«ç§»æ¤ã™ã‚‹éš›ã«ã¯ã€ã„ã
ã¤ã‹ã®ä¿®æ£ãŒå¿…è¦ã«ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚次ã®ã‚ˆã†ãªå…¸åž‹çš„ãªå·®ç•°ã«
注æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
ベンダ固有ã®ãƒ‡ãƒ¼ã‚¿åž‹
ã„ãã¤ã‹ã®ãƒ™ãƒ³ãƒ€å›ºæœ‰ã®ãƒ‡ãƒ¼ã‚¿åž‹ã¯ã€æ¨™æº–çš„ãªSQLデータ型ã§ç½®æ›ã™
ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚(例ãˆã°ã€TEXT ã¯
VARCHAR(max. size)ã§ç½®æ›å¯èƒ½ã§ã™ã€‚)
SQL IDã¨åŒã˜ã‚ーワード
SESAM ã§ã¯(通常ã®SQLã¨åŒæ§˜ã«)ã“ã®ã‚ˆã†ãªIDã¯2é‡å¼•ç”¨ä»˜ã§æ‹¬ã‚‹(ã‚‚
ã—ãã¯åå‰ã‚’変ãˆã‚‹)å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
データ型ã®è¡¨ç¤ºé•·
SESAM データ型ã¯è¡¨ç¤ºé•·ã§ã¯ãªãã€ã‚る精度を有ã—ã¦ã„ã¾ã™ã€‚
int(4)(æ„図ã•ã‚ŒãŸä½¿ç”¨æ³•:'9999'ã¾ã§ã®æ•´æ•°)ã®
代ã‚ã‚Šã«ã€SESAM ã¯å˜ã«31ビット長ã®intã‚’è¦æ±‚
ã—ã¾ã™ã€‚ã¾ãŸã€SESAMã§åˆ©ç”¨å¯èƒ½ãªæ—¥ä»˜æ™‚刻型ã¯æ¬¡ã®ã‚‚ã®ã ã‘ã§ã™ã€‚
DATE〠TIME(3)ã€
TIMESTAMP(3)
ベンダ固有ã®SQLåž‹ unsignedã€
zerofillã€auto_increment
属性
unsigned 㨠zerofill ã¯
サãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“。auto_increment ã¯è‡ªå‹•ã§
ã™ã€‚(SESAMã«å®Ÿè£…ã•ã‚ŒãŸè‡ªå‹•ã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã®åˆ©ç‚¹ã‚’æ´»ã‹ã™ãŸã‚ã«ã€
"... VALUES(0,...)" ã®ä»£ã‚ã‚Šã«
"INSERT ... VALUES(*, ...)" を使用ã—ã¦ä¸‹ã•
ã„。)
int ... DEFAULT '0000'
数値変数ã¯ã€æ–‡å—列定数ã§åˆæœŸåŒ–ã™ã‚‹ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。代ã‚ã‚Šã«
DEFAULT 0 を使用ã—ã¦ä¸‹ã•ã„。SQLデータ型
datetime ã®å¤‰æ•°ã‚’åˆæœŸåŒ–ã™ã‚‹éš›ã€åˆæœŸåŒ–æ–‡å—列ã«ã¯ã€æ¬¡ã®ã‚ˆã†ã«é©
当ãªåž‹ã‚ーワードをå‰ã«ä»˜åŠ ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
CREATE TABLE exmpl (
xtime timestamp(3) DEFAULT TIMESTAMP '1970-01-01 00:00:00.000' NOT NULL
);
$count = xxxx_num_rows();
ã„ãã¤ã‹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¯ã€è¿”ã•ã‚Œã‚‹å€¤ãŒè‘—ã—ãä¸æ£ç¢ºã§ã‚ã‚‹ã¨ã—ã¦
ã‚‚ã€ã‚¯ã‚¨ãƒªçµæžœã®ãƒ¬ã‚³ãƒ¼ãƒ‰æ•°ã‚’推定ã¾ãŸã¯è¦‹ç©ã‚‚ã‚ã†ã¨ã—ã¾ã™ã€‚
SESAM ã¯ã‚¯ã‚¨ãƒªçµæžœã®ãƒ¬ã‚³ãƒ¼ãƒ‰æ•°ã‚’実際ã«å–å¾—ã™ã‚‹å‰ã«çŸ¥ã‚‹ã“ã¨ã¯ã‚
ã‚Šã¾ã›ã‚“。ãã®æ•°ãŒå®Ÿéš›ã«å¿…è¦ãªå ´åˆã«ã¯ã€
SELECT COUNT(...) WHERE ... を試ã—ã¦ã¿ã¦ä¸‹
ã•ã„。ã“ã®ã‚¯ã‚¨ãƒªã¯ã€ãƒ’ット数をå–å¾—ã—ã¾ã™ã€‚2番目ã®ã‚¯ã‚¨ãƒªã¯(ç†æƒ³
çš„ã«ã¯)çµæžœã‚’è¿”ã—ã¾ã™ã€‚
DROP TABLE thename;
SESAMã§ã¯ã€DROP TABLE ã«ãŠã„ã¦ãƒ†ãƒ¼ãƒ–ルåã®
後ã«ã‚ーワード RESTRICT ã¾ãŸã¯
CASCADE ã®ã©ã¡ã‚‰ã‹ã‚’後ã«ä»˜åŠ ã™ã‚‹å¿…è¦ãŒã‚ã‚Š
ã¾ã™ã€‚RESTRICT を指定ã—ãŸå ´åˆã€(VIEWã®ã‚ˆã†
ãª)ä¾å˜ã™ã‚‹ã‚ªãƒ–ジェクトãŒã‚ã‚‹å ´åˆã«ã‚¨ãƒ©ãƒ¼ãŒè¿”ã•ã‚Œã¾ã™ã€‚ã¾ãŸã€
CASCADE を指定ã—ãŸå ´åˆã€ä¾å˜ã™ã‚‹ã‚ªãƒ–ジェク
トã¯æŒ‡å®šã—ãŸãƒ†ãƒ¼ãƒ–ルã‹ã‚‰å‰Šé™¤ã•ã‚Œã¾ã™ã€‚
様々ãªSQL型を使用ã™ã‚‹å ´åˆã®æ³¨æ„
SESAM ã¯ç¾åœ¨BLOB型をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。SESAMã®å°†æ¥ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³
ã¯ã€BLOBをサãƒãƒ¼ãƒˆã™ã‚‹äºˆå®šã§ã™ã€‚
PHP インターフェースã§ã¯ã€SQLフィールドをå–å¾—ã™ã‚‹éš›ã«æ¬¡ã®åž‹å¤‰æ›ãŒ
自動的ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚
表 3SQL ã‹ã‚‰ PHP ã¸ã®åž‹å¤‰æ›
SQL åž‹ | PHP åž‹ |
---|
SMALLINT, INTEGER | "integer" |
NUMERIC, DECIMAL, FLOAT, REAL, DOUBLE | "double" |
DATE, TIME, TIMESTAMP | "string" |
VARCHAR, CHARACTER | "string" |
レコード全体をå–å¾—ã™ã‚‹éš›ã€çµæžœã¯é…列ã¨ã—ã¦è¿”ã•ã‚Œã¾ã™ã€‚空ã®ãƒ•ã‚£ãƒ¼
ルドã«ã¯å€¤ãŒå…¥ã£ã¦ã„ãªã„ãŸã‚ã€å€‹ã€…ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰è‡ªä½“ã®å˜åœ¨ã‚’調ã¹ã‚‹
å¿…è¦ãŒã‚ã‚Šã¾ã™(空ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‹ã©ã†ã‹èª¿ã¹ã‚‹ã«ã¯ã€
isset() ã¾ãŸã¯ empty() を使
用ã—ã¦ä¸‹ã•ã„) 。ã“ã®æ‰‹æ³•ã¯ã€(空ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®è¡¨ç¾ã¨ã—ã¦åž‹ã®æ–‡å—列
を使用ã™ã‚‹ã‚ˆã‚Šã‚‚)空ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®è¦‹ãˆæ–¹ã‚’ユーザãŒåˆ¶å¾¡ã™ã‚‹ã“ã¨ãŒå¯
能ã¨ãªã‚Šã¾ã™ã€‚
SESAM ã® "複数フィールド" 機能ã®ã‚µãƒãƒ¼ãƒˆ
SESAM特有ã®"複数フィールド"機能ã«ã‚ˆã‚Šè¤‡æ•°ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®é…列ã‹ã‚‰ãª
るカラムを使用ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚"複数フィールド"カラム亜ã¯ã€æ¬¡
ã®ã‚ˆã†ã«ä½œæˆå¯èƒ½ã§ã™ã€‚
例 1"複数フィールド"カラムを作æˆã™ã‚‹ CREATE TABLE multi_field_test (
pkey CHAR(20) PRIMARY KEY,
multi(3) CHAR(12)
) |
|
上ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ã«æ¬¡ã®ã‚ˆã†ã«ä»£å…¥ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
例 2"複数フィールド"カラムã«ä»£å…¥ã™ã‚‹ INSERT INTO multi_field_test (pkey, multi(2..3) )
VALUES ('Second', <'first_val', 'second_val'>) |
|
(ã“ã®å ´åˆã®ã‚ˆã†ã«)å…ˆé ã®ç©ºã®ã‚µãƒ–フィールドã¯ç„¡è¦–ã•ã‚Œã€ä»£å…¥ã•ã‚ŒãŸ
値ã¯è©°ã‚られるã“ã¨ã«æ³¨æ„ã—ã¦ä¸‹ã•ã„。ã“ã®ãŸã‚ã€ä¸Šè¨˜ã®ä¾‹ã®çµæžœã¯ã€
multi(2..3) ã§ã¯ãªãã€multi(1..2) ã¨ãªã‚Šã¾ã™ã€‚
çµæžœãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’å–å¾—ã™ã‚‹éš›ã€"複数カラム"ã¯"インラインã®"ä»˜åŠ ã‚«ãƒ©ãƒ
ã®ã‚ˆã†ã«ã‚¢ã‚¯ã‚»ã‚¹ã•ã‚Œã¾ã™ã€‚上ã®ã«ãŠã„ã¦ã€"pkey" ã¯æ·»å—0を有ã—ã€3ã¤
ã®"multi(1..3)" カラムã¯æ·»å—1ã‹ã‚‰3ã§ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã§ã™ã€‚
SESAM固有ã®äº‹é …ã«ã¤ã„ã¦è©³ç´°ã¯ã€the
SESAM/SQL-Serverドã‚ュメント(英語) ã¾ãŸã¯
SESAM/SQL-Server ドã‚ュメント(ドイツ語)
ã‚’å‚照下ã•ã„。共ã«ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã§å‚ç…§å¯èƒ½ã§ã™ã€‚ã‚‚ã—ãã¯ã€é©
当ãªãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã‚’使用ã—ã¦ä¸‹ã•ã„。