| ★★★ IBM DB2・NetData KNOW HOW★★★ |
| IBM UDB V5.0,V5.2,V6.1,V7.1,V8.1利用経験より (但し内容を保証するものではありません。) |
| 01.SELECT文で日付の比較 |
|
date(データ項目名)>= (CURRENT DATE) |
| 02.SELECT文でinteger項目の比較 |
|
*正 recs = $(RECS) *誤 recs = '$(RECS)' |
| 02-1.SELECT文でchar項目(文字)の比較 |
|
*正 kubun = '3' *誤 kubun = "3" |
| 03.SQL での最大処理数の設定方法 |
|
%DEFINE{ DTW_SET_TOTAL_ROWS="YES" RPT_MAX_ROWS="50" %} ===>最大50件で処理で処理終了 |
| 04.SQL のトレース(処理時のデータを確認したい時に使用) |
|
%DEFINE{ SHOWSQL="YES" -----> 取らない時SHOWSQL="NO" %} |
| 05.カナのソート(SELECT)の方法(単純にorder byにすると一部並びがおかしくなる。) |
|
ORDER BY HEX(SUBSTR(項目名,スタート位置,桁数)) 例 order by hex(substr(kaisha_kana,1,20)) |
| 06.逆順のSELECT |
ORDER BY XXXXX DESC |
| 07.メールの処理(UDB6.1ではメールソフトの制限有り!!) |
|
@DTW_SENDMAIL−−−>SENDMAILでしか機能しない!! |
| 08.CURRENT DATEはSQL文でのみ使用可能です。 |
|
(1) where date(hdate) >= (CURRENT DATE) (2) select year(hdate),month(hdate),day(hdate) where date(hdate) >= (CURRENT DATE + (DECIMAL('300',8,0)) --->3ヶ月以上 (3) テーブルでdate属性で定義している場合 where cdate >= '$(XDATE)'<--input属性 |
| 09.入力エリアでの改行(X'0D')の対応方法 |
|
SELECT文 replace(kdata,char(X'0D'),'<BR>') as kdata |
| 10.文字変換の方法 |
|
@DTW_TRANSLATE(kco,char(' '),char('!'),xkco) kcoの中の!の文字を空白(ブランク)にして結果をxkcoに入れる。 |
| 11.UDBのtotal length(Version 5.0,5.2)は4005bytes |
|
但しLongVarcharの長さは0で計算する。 |
| 12.Varchar()のmax lengtは4000bytesです。 |
| 13.UDBのコマンドセンターよりテーブルのデータをすべて削除する方法。 |
|
connect to データベース名; delete from テーブル名; terminate; 例:connect to hosdb; delete from jinji_tbl; terminate; 注:テーブルの定義は削除されません。 |
| 14.UDBのコマンドセンターより”・・・・・”の中に改行キーが含まれている場合の対応方法。 |
|
connect to データベース名; import from ファイル名 of del modified by delprioritychar messages メッセージファイル名 insert into テーブル名; terminate; ファイル名の例: a:\nyuuryoku.txt c:\msg0411.txt |
| 15.UDBのコマンドセンターよりテーブルのデータ定義を入手する方法 |
|
connect to hosdb; select tabname,colname,typename,length,nulls,keyseq from sycat.colums where tabname=テーブル名 order by colno; terminate; |
| 16.UDBのコマンドセンターよりテーブルのデータをロードする方法。 |
|
connect to hosdb; load from c:\ファイル名 of del insert into テーブル名; terminate; |
| 17.UDBのコマンドセンターよりテーブルの定義を行う方法。 |
|
connect to hosdb; create table テーブル名( : : : テーブル定義 : : ); commit work; connect reset; |
| 18.UDBのコマンドセンターよりテーブルの定義及びデータを削除する方法。 |
|
connect to hosdb; drop table テーブル名; terminate; |
| 19.UDBのコマンドセンターよりテーブルの定義を表示する。 |
|
connect to hosdb; list tables; terminate; |
| 20.UDBのコマンドセンターよりテーブルにデータを挿入する。 |
|
connect to hosdb; insert into テーブル名 values('xxx',1000,2000,3000) (syouhin_code,kansai,tokyo,hokuriku); terminate; |
| 21.UDBのコマンドセンターよりテーブル内のデータを更新する。 |
|
connect to hosdb; update テーブル名 set (カラム名)= (値) where (カラム名)= 値; terminate; 例:connect to hosdb; update jinji_tbl set (emp_name)= ('北城 哲也') where (emp_no)= 31200; terminate; 注:値・・・文字の時 '文字’、数値の時はそのまま |
| 22.connectコマンドでユーザーID,パスワードを要求された時。 |
|
connect to hosdb user ユーザーID using パスワード; |
| 23.ある変数の7桁目がXの時に何か処理をしたい時。 |
|
@DTW_SUBSTR(V_mapcode,"7","1",ff) %IF(ff == "x") %ELSE %ENDIF |
| 24.現在の時間を入手する方法。(SQL文以外の時) |
|
@DTW_TIME(ffff) ------> ffff="10:15:36" |
| 25.%IF での項目名の指定方法。 |
|
%IF ($(V_xxxxx) == "123456") %ELSE %ENDIF |
|
26."FORM type="POST" action="http://www.msri.co.jp/cgi-・・・改行 ・・・・" " のように複数行に書いた場合 |
|
ブラウザーがIEなら正常処理されます。 ブラウザーがNNならエラーになります。 *NNのメッセージ−−>Invalid HTTP Request 環境:NT Server4.0,SP 6.0A,UDB DB2 V6.1,NetData V6.1 |
| 27.CURRENT DATEを文字として扱いたい時 |
|
CHAR(CURRENT DATE) |
| 28.Windows ME & Netscape4.04で mailto:機能せず!! |
|
A HREF="mailto:$(e_mail)" メール /A Netscape6.01で正常稼動します。 |
| 29.ダイナミックSQLCALLの方法 |
|
UDB V5 %SQL($(METHOD)) ------>METHODの値によってCALL UDB V6 以降 %IF(METHOD == "A") %SQL(A)------>直接にCALLする必要あり %ENDIF |
| 30.%IFのネスト使用 |
|
UDB V5 %IF %IF ------->文法エラーになります。 %ENDIF %ENDIF UDB V6 以降 %IF %IF ------->文法エラーになりません!! %ENDIF %ENDIF |
| 31.SQLのSELECT文を使い順次表示(次へ、戻る)をNetDataで可能にする方法 |
|
RPT_MAX_ROWS関数 −−−−−−>最大表示件数 START_ROW_NUM関数 −−−−−−>セレクトする開始ROW番号 |
| 32.X8.1にはNetDataが同梱されていないが、NetDataを利用する方法。 |
|
X7.1のNetDataを利用すれば、利用できます。 |