クラス PlsqlUpdateTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.QueryTag
org.opengion.hayabusa.taglib.PlsqlUpdateTag
- すべての実装されたインタフェース:
BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
PLSQLをCALLしてデータベースにアクセスするタグです。
queryType = "JDBCPLSQL" が、標準で用意されています。
queryType と 実際のJavaクラスとの関連付けは、システムリソースの Query_JDBCPLSQL 属性です。
DBTableModel内のデータを 配列でPL/SQLに渡してDB登録します。
※ このタグは、Transaction タグの対象です。
- 関連項目:
- 機能分類
- DB登録
- 形式サンプル:
- ●形式:<og:plsqlUpdate command="…" names="…" dbType="…" queryType="JDBCPLSQL" >{plsql(?,?,?,?,?)} <og:plsqlUpdate> ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:plsqlUpdate queryType 【TAG】Query を発行する為のクラスIDを指定します() command 【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY) scope 【TAG】キャッシュする場合のスコープ[request/session/application]を指定します (初期値:session) maxRowCount 【TAG】(通常は使いません)データの最大読み込み件数を指定します (初期値:DB_MAX_ROW_COUNT[=1000])(0:[無制限]) skipRowCount 【TAG】(通常は使いません)データの読み始めの初期値を指定します notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした]) names 【TAG】PL/SQLを利用する場合の引数にセットすべき データの名称をCSV形式で複数指定します dbType 【TAG】Queryオブジェクトに渡す引数のタイプ定義(例:type名_ARRAY) selectedAll 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false) tableId 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します stopError 【TAG】PLSQL/SQL処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true) dispError 【TAG】エラー時にメッセージを表示するか[true/false]を設定します。通常はstopErrorと併用(初期値:true) tableModelCommit 【TAG】テーブルモデルの確定処理を行うかどうか[true/false]を設定します(初期値:true) useTimeView 【TAG】処理時間を表示する TimeView を表示するかどうかを指定します (初期値:VIEW_USE_TIMEBAR[=])。 useSLabel 【TAG】7.0.7.0 (2019/12/13) エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:plsqlUpdate> ●使用例 ・引数/プロシジャーを他のJSPから渡す場合 【copy.jsp】 <og:hidden name="names" value="UNIQ,USRID,ECNO,EDBN" /> <og:hidden name="SQL" value="{ call RKP0271E.RK0271E( ?,?,?,?,? ) }" /> 【entry.jsp】 <og:plsqlUpdate command = "{@command}" names = "{@names}" →PL/SQLに渡す引数(配列)のカラム名 dbType = "RK0271ARG" →PL/SQLに渡す引数(配列)の定義ファイル名 queryType = "JDBCPLSQL" > {@SQL} →CALLするPL/SQL </og:plsqlUpdate> ・引数/プロシジャーを直接書く場合 【entry.jsp】 <og:plsqlUpdate command = "{@command}" names = "UNIQ,USRID,ECNO,EDBN" →PL/SQLに渡す引数(配列)のカラム名 dbType = "RK0271ARG" →PL/SQLに渡す引数(配列)の定義ファイル名 queryType = "JDBCPLSQL" > { call RKP0271E.RK0271E( ?,?,?,?,? )} →CALLするPL/SQL </og:plsqlUpdate> <<参考>> ・RKP0271E.RK0271E( ?,?,?,?,? )の「?」の意味 (RKP0271E.spc)------------------------------------------------------------ CREATE OR REPLACE PACKAGE RKP0271E AS PROCEDURE RK0271E( P_KEKKA OUT NUMBER -- 1個目の「?」⇒結果 0:正常 1:警告 2:異常 ,P_ERRMSGS OUT ERR_MSG_ARRAY -- 2個目の「?」⇒エラーメッセージ配列 ,P_NAMES IN VARCHAR2 -- 3個目の「?」⇒カラム名チェック用文字列 ,P_SYSARGS IN SYSARG_ARRAY -- 4個目の「?」⇒登録条件配列(改廃(A:追加/C:変更/D:削除)等がセットされます) ,P_RK0271 IN RK0271ARG_ARRAY -- 5個目の「?」⇒登録データ配列 ・RK0271ARGの定義の仕方 (RK0271ARG.sql)------------------------------------------------------------ DROP TYPE RK0271ARG_ARRAY; CREATE OR REPLACE TYPE RK0271ARG AS OBJECT ( UNIQ VARCHAR2(11) ,USRID VARCHAR2(5) ,ECNO VARCHAR(7) ,EDBN VARCHAR(2) ) ; / CREATE OR REPLACE TYPE RK0271ARG_ARRAY AS VARRAY(100) OF RK0271ARG; /
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールドクラスから継承されたフィールド org.opengion.hayabusa.taglib.QueryTag
CMD_NEW, CMD_RENEW, command, dispError, displayMsg, dyStart, ERR_MSG_ID, errCode, errMessage, executeCount, maxRowCount, names, outMessage, quotCheck, skipRowCount, sql, stopError, table, tableId, useSLabel, useTimeView, xssCheck
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport
bodyContent
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。int
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
Query を実行します。protected int[]
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。protected void
release2()
タグリブオブジェクトをリリースします。void
【TAG】Queryオブジェクトに渡す引数のタイプ定義(例:type名_ARRAY)。void
setQueryType
(String id) 【TAG】Query を発行する為のクラスIDを指定します()。void
setSelectedAll
(String all) 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。void
setTableModelCommit
(String flag) 【TAG】テーブルモデルに対する確定処理を行うかどうかを指定します(初期値:true)。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.QueryTag
addPlaceValue, doAfterBody, getRequest, setCheckNames, setCommand, setDbid, setDispError, setDisplayMsg, setMainTrans, setMaxRowCount, setModifyType, setNames, setNotfoundMsg, setOutMessage, setOverflowMsg, setQuery, setQuotCheck, setSkipRowCount, setStopError, setStopZero, setTableId, setTrace, setUseBeforeHtmlTag, setUseSLabel, setUseTimeView, setXssCheck
クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useStrict, useTag, useXssCheck
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
クラスから継承されたメソッド java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
-
フィールド詳細
-
CMD_ENTRY
command 引数に渡す事の出来る コマンド 登録"ENTRY"- 関連項目:
-
userDBType
引数のタイプ定義
-
-
コンストラクタの詳細
-
PlsqlUpdateTag
public PlsqlUpdateTag()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
doStartTag
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内Tag
- オーバーライド:
doStartTag
クラス内QueryTag
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
-
doEndTag
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内QueryTag
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.5.5.2 (2004/04/02) TaglibUtil.makeHTMLErrorTable メソッドを利用, 3.6.0.8 (2004/11/19) DBTableModel をセーブする時に、トランザクションチェックを行います。, 3.6.1.0 (2005/01/05) オーバーフロー時と登録件数の表示をコメントします。, 4.3.3.0 (2008/09/22) 検索結果を、"DB.ERR_CODE" キーでリクエストにセットする。, 4.3.3.0 (2008/09/22) 属性 stopError の設定により、JSP処理を中止するかどうかを制御します。, 4.3.5.7 (2009/03/22) アクセスカウント不具合対応, 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応, 6.4.1.2 (2016/01/22) QueryTag.errMsgId → QueryTag.ERR_MSG_ID refactoring, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。, 5.9.26.1 (2017/11/10) dispError対応, 6.9.9.0 (2018/08/20) 「ERR0041:検索処理中に割り込みの検索要求がありました」エラーを、標準のErrorMessageに追加するようにします。, 7.0.7.0 (2019/12/13) useSLabel 属性を追加。
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。 -
execute
Query を実行します。- オーバーライド:
execute
クラス内QueryTag
- パラメータ:
query
- オブジェクト- 変更履歴:
- 2.1.2.3 (2002/12/02) データベース更新時に、更新フラグをセットするように変更, 3.5.0.0 (2003/09/17) カラム名ではなく、カラム番号を先に求めておく方式に変更。, 3.5.2.0 (2003/10/20) 内部オブジェクトタイプ名を システムパラメータ で定義します。, 3.5.4.2 (2003/12/15) HTMLTableViewForm クラス名変更(⇒ ViewForm_HTMLTable), 3.5.6.0 (2004/06/18) DBRowHeader のパッケージプライベート化に伴なう変更, 4.0.0.0 (2005/01/31) setArguments 廃止、Query#execute に、引数をすべて追加, 4.3.0.0 (2008/07/22) DBSysArgの引数に日付、PG、ユーザーIDを追加, 5.5.5.2 (2012/08/10) isTableModelCommitによるテーブルモデル確定処理のコントロール, 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。
-
getParameterRows
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。- オーバーライド:
getParameterRows
クラス内CommonTagSupport
- 戻り値:
- 選択行の配列
- 変更履歴:
- 4.0.0.0 (2005/01/31) getParameterRows() を使用するように変更
- このメソッドは、nullを返しません
-
setDbType
【TAG】Queryオブジェクトに渡す引数のタイプ定義(例:type名_ARRAY)。- パラメータ:
type
- 定義のPL/SQL名- 説明:
- ここでは、type 定義のPL/SQL名を指定します。 行を表す配列は、type名_ARRAY という名称です。
-
setSelectedAll
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
all
- データを全件選択済み [true:全件選択済み/false:通常]- 説明:
- 全てのデータを選択済みデータとして扱って処理します。 全件処理する場合に、(true/false)を指定します。 初期値は false です。
-
setQueryType
【TAG】Query を発行する為のクラスIDを指定します()。- オーバーライド:
setQueryType
クラス内QueryTag
- パラメータ:
id
- Queryを発行する為の実クラスID- 関連項目:
- 変更履歴:
- 3.5.4.2 (2003/12/15) JavaDocコメント用にメソッド追加。
- 説明:
- 引数指定のINSERT/UPDATE文を実行する場合の、queryType 属性を使用します。 このタグでは、execute( String ,String , DBSysArg[] , DBUserArg[] )を実行します。 代表的なクラスとして、"JDBCPLSQL" が標準で用意されています。 タグにより使用できる/出来ないがありますが、これは、org.opengion.hayabusa.db 以下の Query_**** クラスの **** を与えます。 これらは、Query インターフェースを継承したサブクラスです。
-
setTableModelCommit
【TAG】テーブルモデルに対する確定処理を行うかどうかを指定します(初期値:true)。- パラメータ:
flag
- テーブルモデルの確定処理 [true:する/false:しない]- 変更履歴:
- 5.5.5.2 (2012/08/10) 新規作成
- 説明:
- PlsqlUpdateタグで、エラーがなかった場合は通常、テーブルモデルの改廃に従って処理が行われます。 (改廃Dについては削除処理を行い、その他については改廃を元に戻す) このパラメータをfalseに指定すると、テーブルモデルに対する処理を行いません。 これは、例えばPL/SQLでエラーチェックのみを行いたい場合に有効です。 初期値はtrue(処理を行う)です。
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
-