- RDノード名称
- アクセスをするRDノードのRDノード名称を指定します。
- 認可識別子
- 表を所有するユーザの認可識別子を指定します。
- 認可識別子に,"MASTER"は指定できません。認可識別子を省略した場合については,「1.1.8 名前の修飾」を参照してください。
- 表識別子
- 削除する行がある表を指定します。
- 表識別子についての規則を次に示します。
- 読み込み専用のビュー表は,行の挿入,更新,及び削除ができません。
- 読み込み専用のビュー表については,「3. CREATE 〔PUBLIC 〕VIEW(ビュー定義,パブリックビュー定義)」の共通規則を参照してください。
- ビュー表からの行の削除を指定した場合は,そのビュー表の操作の対象の基になる実表から行を削除します。
- 表名の有効範囲はDELETE文全体です。
- IN
- アクセス対象のRDエリアを指定します。なお,表識別子に指定した表が外部表の場合は指定できません。
- RDエリア名指定::=値指定
- 表識別子に指定した表を格納しているRDエリアのうち,アクセスするRDエリアの名称をVARCHAR型,CHAR型,MVARCHAR型,又はMCHAR型の値指定で指定します。複数のRDエリア名を指定する場合はコンマ(,)で区切って指定してください。RDエリア名は重複して指定できません。重複して指定した場合はエラーとなります。値指定で指定するRDエリア名に許される文字については,「1.1.7 名前の指定」を参照してください。また,値指定で指定したRDエリア名の前後の空白は無視されます。RDエリア名を引用符(")で囲んだ場合は,引用符(")の外側の空白だけを無視します。
- カーソル名又は拡張カーソル名の指定がある場合は,カーソル宣言で宣言したカーソルで指定したRDエリアと同じRDエリアの集合を指定してください(順不同)。指定しない場合はエラーとなります。
- インナレプリカ機能を適用しているRDエリアを指定する場合,オリジナルRDエリア名を指定してください。レプリカRDエリアを対象とする場合は,カレント切り替えコマンド(pddbchgコマンド),又はクライアント環境定義のPDDBACCSオペランドでアクセス対象RDエリアをレプリカRDエリアに切り替えてください。
削除対象の表に対して相関名を使用する場合に指定します。
相関名の有効範囲はDELETE文全体です。削除対象の表識別子は有効範囲を持ちません。
使用インデクスのSQL最適化指定については,「2.24 SQL最適化指定」を参照してください。
- WHERE{探索条件|CURRENT OF {カーソル名|拡張カーソル名}}
- WHERE
- WHERE句を省略すると,指定した表のすべての行が削除されます。SQL連絡領域のSQLWARN4領域に警告フラグ"W"が設定されます。
- 探索条件
- 削除する行を選択する条件を指定します。
- 探索条件中に埋込み変数,?パラメタ,SQL変数,又はSQLパラメタを指定できます。ただし,PREPARE文で前処理されるDELETE文の探索条件中では,?パラメタだけ指定できます。
- SQL手続き中では,SQL変数,又はSQLパラメタを使用します。Java手続き中の指定値については,マニュアル「HiRDB Version 8 UAP開発ガイド」のJDBCドライバ又はSQLJを参照してください。
- 探索条件については,「2.7 探索条件」を参照してください。
- カーソル名
- 削除する行を指すカーソルの名称を指定します。
- カーソル名で指定するカーソルは,カーソル宣言で宣言されたカーソルです。
- カーソル名で指定するカーソルは,OPEN文で開き,FETCH文で削除する行に位置づけてください。なお,そのカーソルに対するOPEN文,FETCH文,CLOSE文及びDELETE文は,同一トランザクション内で実行してください(ただし,ホールダブルカーソルの場合を除く)。
- カーソル名で指定するカーソルは,DELETE文実行後は,指している行がありません。削除した行より後の行を更新,又は削除する場合は,そのカーソルに対してFETCH文を実行して,カーソルを移動させてください。
- 拡張カーソル名
- 削除する行を指すカーソルを識別する拡張カーソル名を指定します。
- ALLOCATE CURSOR文で割り当てられたカーソルを識別している拡張カーソル名を指定してください。ただし,結果集合カーソルは指定できません。
- 拡張カーソル名が識別するカーソルは,開いた状態であり,かつ削除する行に位置づけられている必要があります。
- 拡張カーソル名が識別するカーソルは,DELETE文実行後は指している行がありません。削除した行より後の行を更新,又は削除する場合は,そのカーソルに対してFETCH文を実行して,カーソルを移動させてください。
- 拡張カーソル名を指定する場合は,FOR UPDATE句の指定のある問合せに対する拡張カーソルを指定しなければなりません。FOR UPDATE句については,「4. 動的SELECT文 形式1(動的検索)」のオペランド規則のFOR UPDATE句を参照してください。
- 拡張カーソル名については,「2.27 拡張カーソル名」を参照してください。
削除する表がほかのユーザで使用されているとき,トランザクションを取り消して無効にする場合に指定します。
WITH ROLLBACKを省略した場合は,削除する表がほかのユーザのトランザクションで使用されているとき,そのトランザクションが終了してから実行します。