Symfoware Server WebDBtoolsユーザーズガイド - FUJITSU -
目次 索引 前ページ次ページ

第6章 WebScript拡張タグ> 6.5 変数タグ

6.5.2 <!SETVAR>

■説明

<!SETVAR>は、変数およびリスト要素の値を更新するタグです。
<!VAR>で定義していない変数に対して、<!SETVAR>で変数に値を設定すると、ローカル変数が定義されます。
グローバル変数の場合、変数名をパッケージ名で修飾することで、カレントパッケージ以外のグローバル変数の値を更新することができます。

■構文

<!SETVAR name value [ REF ] >

■パラメタ

name :

value :

REF :

■概念図

■使用例

(1) 単純な入力

<!SETVAR X 100>            Xの値は100
<!SETVAR Y '100 + 300'>    Yの値は400
<!SETVAR Z X>              Zの値は100
<!SETVAR X 50>             Xの値は50となるがZの値は100のまま

(2) REFパラメタ

<!SETVAR X 100>
<!SETVAR Y 200>
<!SETVAR P X REF>          PはXと同じデータを指す
                           PとXの値は100
<!SETVAR X 300>            PとXの値はともに300
<!SETVAR P 400>            PとXの値はともに400
<!SETVAR P Y REF>          PはYと同じデータを指す
                               PとYの値は200、Xの値は400のまま
<!SETVAR P 500>             PとYの値は500
<!SETVAR A '(0,1,2)'>
<!SETVAR B[0] A[0] REF>    
<!SETVAR B[1] A[10] REF>   <誤り>要素A[10]は存在しない
<!SETVAR B[2] 200 REF>     <誤り>200は変数でもリスト要素でもない

(3) REFの用途:構造データ

<!SETVAR 'PERSON1{Name}' "山田">
<!SETVAR 'PERSON1{Age}' 25>
<!SETVAR 'PERSON2{Name}' "田中">
<!SETVAR 'PERSON2{Age}' 23>
<!SETVAR 'PERSON1{Wife}' PERSON2 REF>
<!SETVAR 'PERSON2{Husband}' PERSON1 REF>

(4) REFの用途:効率の問題

<!DO "SELECT * FROM SCM.TBL1" RESULT=r>
                                 rに大量のデータが入っている
<!SETVAR a r>              aにr全体のデータがコピーされる
                                 時間と大量のメモリが消費される
<!SETVAR b r REF>          bはrと同じデータを指す
                                 時間もメモリもほとんど消費しない

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007