JP3508863B2 - Dbmsにおける更新処理方法 - Google Patents

Dbmsにおける更新処理方法

Info

Publication number
JP3508863B2
JP3508863B2 JP25297392A JP25297392A JP3508863B2 JP 3508863 B2 JP3508863 B2 JP 3508863B2 JP 25297392 A JP25297392 A JP 25297392A JP 25297392 A JP25297392 A JP 25297392A JP 3508863 B2 JP3508863 B2 JP 3508863B2
Authority
JP
Japan
Prior art keywords
statement
update
select
sql
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP25297392A
Other languages
English (en)
Other versions
JPH06103125A (ja
Inventor
浩樹 赤間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP25297392A priority Critical patent/JP3508863B2/ja
Publication of JPH06103125A publication Critical patent/JPH06103125A/ja
Application granted granted Critical
Publication of JP3508863B2 publication Critical patent/JP3508863B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リレーショナル・デー
タベースに対するSQL言語を使ったアプリケーション
・プログラムにおけるDBMSにおける更新処理方法に
関するものである。
【0002】
【従来の技術】まず、図8を参照するに、リレーショナ
ル・データベース(以後、DBと記す)107とは、デ
ータ項目を表(テーブル)形式で格納するデータベース
であり、DB107はリレーショナル・データベース管
理システム(以後DBMSと記す)108で管理する。
図7にテーブル形式のDB107の構成の例を示す。テ
ーブルの縦方向の列をカラム、横方向の行をレコードと
呼ぶことにする。
【0003】DB107へのアクセスはホスト言語で記
述されたアプリケーション・プログラム(以後APと記
す)101中に、JISで定められたデータベース言語
(SQL言語;構造化照会言語)[JIS X 3005 Nov.198
7 ]を記述することで行われる。ここで、ホスト言語と
は、C,COBOL,FORTRAN,Adaなどの通
常のプログラミング言語である。ホスト言語とSQL言
語間のデータの授受は特別なホスト言語の変数(以後ホ
スト変数と記す)を経由することにより行う。
【0004】図9,図12にホスト言語をC言語とした
場合のDB107に対するAP(一部)の例を示す。図
中のh1,h2,h3,h4,h5,h14,h15はホスト変数である。
【0005】DBMS108におけるSQL文コンパイ
ル処理過程とは、AP101中に記述されたSQL文を
ホスト言語または計算機が実行可能な言語によるロジッ
クに変換する過程である。
【0006】銀行の基幹業務などのオンライン系APで
は、以下のような処理パターンがよく用いられる。
【0007】「もし、あるレコードのカラムC1の値が
xより大きいならaを引き、既にx以下なら何もしな
い。」つまり条件のついた更新である。
【0008】条件のつかない更新は図9のように1つの
SQL文(UPDATE文(G101))で記述することが可能であ
る。
【0009】この場合、プリプロセスの過程では、図1
1に示すような処理フローのUPDATE文の処理I106に
よって、図10に示すようなロジックHを生成する。
【0010】(1)テーブルT1でカラムC0の値が123
であるレコードを特定する(ステップH102)。
【0011】(2)レコード内のカラムC1の値を1減ら
す(ステップH103)。
【0012】しかし、図12に示すように条件(J102)
がついた場合には、SQL言語仕様内での条件分岐の記
述が不可能なため、ホスト言語の条件分岐を利用し、2
つのSQL文(SELECT文(J101)とUPDATE文(J103))に分
けて以下のように記述する必要がある。ここで、UPDATE
は更新処理を行うSQL文、SELECTは検索処理を行うS
QL文を表す。
【0013】これは、図11に示すような処理フローの
SELECT文の処理(ステップI104)及びUPDATE文の処
理(ステップI106)によって、図13に示すような
ロジックを生成する。
【0014】(1)テーブルT1でカラムC0の値が123
であるレコードを特定する。(ステップK102) (2)ホスト変数h1にレコード内のカラムC1の値を代入
する。(ステップK103) (3)もし、変数h1の値が0より大きいなら、以下のス
テップK105、ステップK106を行う。(ステップ
K104) (4)テーブルT1でカラムC0の値が123であるレコー
ドを特定する。(ステップK105) (5)特定したレコード内のカラムC1の値を1減らす。
(ステップK106)
【0015】ところで、このうちステップK102とス
テップK105は同一の処理を行っている。つまり、SE
LECT文(J101)とUPDATE文(J103)のそれぞれでインデック
スの検索を行い、同じレコードの特定を行っている。こ
れはSELECT文(J101)とUPDATE文(J103)が以下の条件を満
たすためである。
【0016】(a)SELECT文とUPDATE文が同一トランザ
クション内で連続している。
【0017】(b)SELECT文のテーブル指定(FROM句)
とUPDATE文のテーブル指定が同じである。
【0018】(c)SELECT文の検索条件指定(WHERE句)
とUPDATE文の検索条件指定(WHERE句)が同じである。
【0019】
【発明が解決しようとする課題】このように、上記条件
(a)〜(c)を満たしていれば、SELECT文とUPDATE文
は必ず同一のレコードを指すため、UPDATE文でのインデ
ックス検索は無駄である。
【0020】なお、検索条件指定中にホスト変数を使用
した場合には、そのホスト変数値も同一でなければなら
ない。
【0021】前述のとおり、条件付きの更新処理を行う
ときに、通常の方法ではSELECT文とUPDATE文の各々につ
いてインデックス検索を行うため、無駄な処理が発生す
るという問題があった。
【0022】本発明は、上記課題に鑑みてなされたもの
で、更新処理時のレコード位置特定処理(たとえばイン
デックス検索処理)を削除することで、条件付きの更新
処理を高速化するDBMSにおける更新処理装置を提供
することを目的とする。
【0023】
【課題を解決するための手段】上記目的を達成するた
め、本願第1の発明は、データベースにアクセスするプ
ログラム中にSQL言語を用いて記述されたSQL文の
プリプロセス処理過程において、プログラムからSQL
文を1文だけ切り出し、この切り出したSQL文が検索
処理を行うSQL文であるSELECT文の場合には、このSE
LECT文の位置から最初に現れるSQL文を検出するか、
または、前記SELECT文の検索条件に影響が生じるか、ま
たは、先読みを行う部分の連続性が保証できなくなる
か、のうちのいずれかの状況が生じるまでプログラムの
先読みを行い、この先読みの過程において更新処理を行
うSQL文であるUPDATE文を得たとき、このUPDATE文と
前記SELECT文の対象テーブルが同一であり、かつ、前記
SELECT文と前記UPDATE文の検索条件指定が同一であり、
かつ、前記SELECT文の検索条件に影響を与えず、かつ、
前記SELECT文から前記UPDATE文までの実行時連続性が保
証できた場合には、前記SELECT文が指定しているレコー
ド位置情報を保存し、この保存したレコード位置情報を
用いて前記UPDATE文が更新するレコードを特定すること
を要旨とする。
【0024】また、本願第2の発明は、データベースに
アクセスするプログラム中にSQL言語を用いて記述さ
れたSQL文のプリプロセス処理過程において、プログ
ラムからSQL文を1文だけ切り出し、この切り出した
SQL文が検索処理を行うSQL文であるSELECT文の場
合には、このSELECT文の位置から最初に現れるSQL文
を検出するまでプログラムの先読みを行い、この先読み
の過程において更新処理を行うSQL文であるUPDATE文
を得たとき、このUPDATE文と前記SELECT文の対象テーブ
ルが同一であり、かつ、前記SELECT文と前記UPDATE文の
検索条件指定がホスト言語の変数名の差異を除き同一で
あり、かつ、前記SELECT文から前記UPDATE文までの実行
時連続性が保証できた場合には、前記SELECT文の位置情
報と検索条件の指定に用いた全てのホスト言語の変数を
保存し、この保存したホスト言語の変数の値と、当該ホ
スト言語の変数の値にそれぞれ対応する前記UPDATE文の
検索条件を指定するホスト言語の変数の値がすべて等し
いときには、予め保存されているレコード位置情報を用
いて前記UPDATE文が更新するレコードを特定することを
要旨とする。
【0025】
【作用】上述の如く構成すれば、本願第1の発明は、SE
LECT文の位置より先読みを行いUPDATE文を検出し、SELE
CT文とUPDATE文の対象とするレコードが同一であること
をプリプロセス時に確認することによって、プリプロセ
スにおいてUPDATE文でのレコード特定にSELECT文で特定
したレコード位置情報を用いるロジックを生成すること
で、従来UPDATE時に必要であったレコード特定のための
インデックス検索処理を無くすことができ、処理の高速
化が可能になる。
【0026】本願第2の発明は、SELECT文の位置より先
読みを行いUPDATE文を検出し、SELECT文とUPDATE文の検
索条件内のホスト変数の値が同一であれば2つの文の対
象とするレコードが同一になることをプリプロセス時に
確認することによって、プリプロセスにおいてSELECT文
の検索条件内のホスト変数を保存し、その値を更新実行
時にUPDATE文の検索条件内のホスト変数と比較をし、も
し、対応するホスト変数のそれぞれが全て等しければレ
コード特定にSELECT文で特定したレコード位置情報を用
いるロジックを作成することで、従来UPDATE時に必要で
あったレコード特定のためのインデックス検索処理を無
くすことができ、処理の高速化が可能になる。
【0027】
【実施例】以下、本発明に係る一実施例を図面を参照し
て説明する。
【0028】まず、本発明の概要を説明する。本発明
は、AP中に埋め込まれたSELECT文とそれに続くUPDATE
文を対象とする。図1を参照するに、(1)AP中のSE
LECT文を検出した後(ステップA103)、以下に示す
条件Aのいずれかを満たすまでAPを先読みする(ステ
ップA104)。
【0029】(a)次のSQL文を検出する。
【0030】(b)SELECT文の検索条件に影響がある。
【0031】(c)先読みを行う部分の連続性が保証で
きなくなる。
【0032】(2)次に、以下に示す条件Bをチェック
し(ステップA105)、全てを満足すれば、ステップ
A106、ステップA107に進み、以下の処理(3)
(4)を行う。1つでも満たさない条件が存在する場合
には、SELECT文およびUPDATE文に対してそれぞれ従来の
ロジックを生成する。
【0033】条件B (a)先読みによってSQL文を得ており、かつ、その
SQL文はUPDATE文である。
【0034】(b)SELECT文とUPDATE文の対象テーブル
が同一である。
【0035】(c)SELECT文とUPDATE文の検索条件指定
が同一である。
【0036】(d)SELECT文の検索条件に影響がなかっ
た。
【0037】(e)SELECT文からUPDATE文までの実行時
連続性が保証できた。
【0038】(3)先行するSELECT文に対しては、以下
のロジックAを生成する(ステップA106)。
【0039】(a)FROM句で指定されたテーブル内で、
WHERE句で指定された条件を満たすレコードを特定す
る。
【0040】(b)特定したレコードの位置情報を保存
する。
【0041】(c)ホスト変数にレコード内のカラムの
値を代入する。
【0042】(4)SELECT文に続くUPDATE文に対して
は、以下のロジックBを生成する(ステップA10
7)。
【0043】(a)保存していたレコード位置情報を用
いて更新を行う。
【0044】また、図4を参照するに、(1)AP中の
SELECT文を検出した後、まず、以下に示す条件Cを満た
すまでAPを先読みする。
【0045】(a)次のSQL文を検出する。
【0046】(2)次に、以下に示す条件Dをチェック
し、全てを満足するときには、以下に示す処理(3)、
(4)を行う。1つでも満たさない条件が存在する場合
には、SELECT文およびUPDATE文に対してそれぞれ従来の
ロジックを生成する。
【0047】条件D (a)先読みによってSQL文を得ており、かつ、その
SQL文はUPDATE文である。
【0048】(b)SELECT文とUPDATE文の対象テーブル
が同一である。
【0049】(c)SELECT文とUPDATE文の検索条件指定
がホスト変数名の差異を除き同一である。
【0050】(d)SELECT文からUPDATE文までの実行時
連続性が保証できた。
【0051】(3)先行するSELECT文に対しては、以下
に示すロジックEを生成する。
【0052】(a)FROM句で指定されたテーブル内で、
WHERE句で指定された条件を満たすレコードを特定す
る。
【0053】(b)特定したレコードの位置情報を保存
する。
【0054】(c)検索条件指定に用いた全てのホスト
変数をバックアップ用のホスト変数に保存する。
【0055】(d)ホスト変数にレコード内のカラムの
値を代入する。
【0056】(4)SELECT文に続くUPDATE文に対して
は、以下のロジックFを生成する。
【0057】(a)SELECT文とUPDATE文が同一トランザ
クションで、かつ、間に他のSQL文の実行がなく、か
つ保存しておいたホスト変数とそれに対応するUPDATE文
のホスト変数の値がそれぞれ全て等しいか判定する。
【0058】(b)上記条件を満足する場合には、保存
していたレコード位置情報を用いて更新を行う。
【0059】(c)上記条件を満足しない場合には、UP
DATE文に対して従来の処理を行う。以上、本発明は上述
した過程を有することを特徴とするものである。
【0060】次に、本発明に係る実施例を、図面により
詳細に説明する。
【0061】図1は本実施例におけるプリプロセス処理
の動作フローチャート、図2及び図3はプリプロセス処
理を説明するための図である。
【0062】まず、プリプロセスの過程を以下に示す。
【0063】(1)ステップA102においてAP中の
SELECT文(図2に示すB101)を検出した後、まず、ステ
ップA104に従い、以下に示す第1の条件としての条
件Aのいずれかを満たすまでAPを先読みする。
【0064】(a)次のSQL文を検出する。
【0065】(b)SELECT文の検索条件に影響がある。
【0066】(c)先読みを行う部分の連続性が保証で
きなくなる。
【0067】ここで(b)はプログラミング言語によっ
て異なるが、C言語の場合には以下の条件を満たすとき
SELECT文の検索条件に影響がないと考える。
【0068】・SELECT文の WHERE句で使用するホスト変
数の変更がない。 ・ホスト言語の変数のうち、ホスト変数以外の変数の更
新がない。 ・関数呼び出しがない。または、呼び出す関数内でSELE
CT文の WHERE句で使用するホスト変数の更新がない。
【0069】また(c)もプログラミング言語によって
異なるが、C言語の場合には以下の条件を満たすとき先
読みを行う部分の連続性が保証できると考える。
【0070】・ジャンプ(goto.longjmp,exit,return な
ど)により処理が不連続になる。 ・ジャンプからの入り口(ラベル、setjmp) がある。 ・関数呼び出しがない。または、呼び出す関数内にSQ
L文がない。 この場合、先読みを行うと次の文(B102) はif文であ
り、これは条件Aの(a)(b)(c)を満たさないの
で先読みを継続する。
【0071】次に、先読みを行うと、UPDATE文(B103)
であるため、これは条件(a)を満足するので先読みを
終了する。
【0072】(2)次に、ステップA105に従い、上
述した条件Bをチェックし、全てを満足すれば、ステッ
プA106及びステップA107による処理を行う。1
つでも満たさない条件が存在する場合には、SELECT文お
よびUPDATE文に対してそれぞれ従来のロジックを生成す
る(ステップA108、ステップA109、ステップA
110)。
【0073】この場合、以下のように条件Bを全て満足
している。
【0074】・先読みでSQL文を得ており、そのSQ
L文はUPDATE文(B103)であった。 ・SELECT文(B101)とUPDATE文(B103)は、対象テーブルが
どちらもT1である。 ・SELECT文(B101)とUPDATE文(B103)は、検索条件を示す
WHERE句が等しい。 ・SELECT文(B101)からUPDATE文(B103)までの先読みの間
に、SELECT文(B101)の検索条件を変更するような処理が
なかった。 ・SELECT文(B101)からUPDATE文(B103)までの実行時連続
性が保証できた。
【0075】よって、以下の処理(3)(4)を行う。
【0076】(3)ステップA106に従い、先行する
SELECT文(B101)に対しては、図3に示すように以下のロ
ジックAを生成する。
【0077】(3-1) FROM句で指定されたテーブル(T1)
内で、 WHERE句で指定された条件(C4=:h4 and C5=:h5)
を満たすレコードを特定する。(ステップC102) (3-2) 特定したレコードの位置情報を保存する。(ステ
ップC103) (3-3) ホスト変数(h3,h2,h1) にレコード内のカラム
(C3,C2,C1) の値を代入する。
【0078】さらに、先読みでスキップしたホスト言語
の処理のロジック(B102)を(3)と(4)の間に展開す
る。(ステップC105) (4)ステップA108に従いSELECT文(B101)に続くUP
DATE文(B103)に対しては、図3に示すように以下のロジ
ック3を生成する。
【0079】(a)保存していたレコード位置情報を用
いて更新を行う。(ステップC106) 次に図を参照して第2の実施例について説明する。
【0080】図4はプリプロセス処理の動作フローチャ
ート、図5から図6はのプリプロセス処理を説明するた
めの図である。
【0081】(1)ステップD102によりAP(図
5)中のSELECT文(E101) を検出した後、まず、ステッ
プD104に従い、以下の条件Cを満たすまでAPを先
読みする。
【0082】(a)次のSQL文を検出する。
【0083】この場合、先読みを行うと次の文はif文(E
102)であり、これは(a)を満たさないので先読みを継
続する。次に、先読みを行うと、UPDATE文(E103) であ
るため、これは条件(a)を満足するので先読みを終了
する。
【0084】(2)次に、ステップD105に従い上述
した条件Dをチェックし、全てを満足すれば、以下の処
理には、SELECT文およびUPDATE文に対してそれぞれ従来
のロジックを生成(ステップD108、ステップD10
9、ステップD110)する。
【0085】この場合、以下のように上記条件Dを全て
満足している。
【0086】・先読みでSQL文を得ており、そのSQ
L文はUPDATE文(E103) であった。 ・SELECT文(E101) とUPDATE文(E103) は、対象テーブ
ルがどちらもT1である。 ・SELECT文(E101) とUPDATE文(E103) は、検索条件を
示す WHERE句が等しい。
【0087】・SELECT文(E101) からUPDATE文(E103)
までの先読みの間に、SELECT文(E101) の検索条件を変
更するような処理がなかった。 ・SELECT文(E101) からUPDATE文(E103) までの実行時
連続性が保証できた。
【0088】よって、以下の処理(3)(4)を行う。
【0089】(3)ステップD106に従い先行するSE
LECT文(E101) に対しては、図6に示すように以下のロ
ジックEを生成する。
【0090】(a)FROM句で指定されたテーブル(T1)内
で、 WHERE句で指定された条件を満たすレコードを特定
する(ステップF102)。
【0091】(b)特定したレコードの位置情報を保存
する。(ステップF1003) (c)検索条件指定に用いた全てのホスト変数(h4,h5)
をバックアップ用のホスト言語の変数(bh4,bh5)に保存
する(ステップF104)。
【0092】(d)ホスト変数(h3,h2,h1) にレコード
内のカラム(C3,C2,C1) の値を代入する(ステップF1
05)。
【0093】さらに、先読みでスキップしたホスト言語
の処理のロジック(E102) を(3)と(4)の間に展開
する(ステップF106)。
【0094】(4)ステップD107に従いSELECT文
(E101) に続くUPDATE文(E103) に対しては、図6に示
すように以下のロジックFを生成する。
【0095】(a)保存していたホスト言語の変数(bh
4,bh5)の値とそれに対応するUPDATE時の検索条件のホス
ト変数(h14,h15)の値がそれぞれ全て等しいこと(bh4=
h14かつbh5=h15)をチェックする(ステップF10
7)。
【0096】(b)上記条件を満足する場合には、保存
していたレコード位置情報を用いて更新を行う(ステッ
プF108)。
【0097】(c)上記条件を満足しない場合には、UP
DATE文に対して従来の処理を行う。(ステップF10
9、ステップF110) 以上、本発明の実施例を具体例を用いて説明してきた
が、本発明は上記実施例に限定される事はなく、その要
旨を逸脱しない範囲、たとえばSELECT文とUPDATE文の検
索条件の複雑化や、SELECT文とUPDATE文の間のロジック
の複雑化(SELECT文とUPDATE文の間に複数のif文が存在
することや、その他の関数/手続きが存在すること)や
簡約化(SELECT文とUPDATE文の間にif文がなく単に連続
する場合など)、等の種々変更が可能である。
【0098】さらに、DBMSにおける削除処理(DELE
TE文)でもUPDATE文と同様にインデックス検索を行うた
め、条件付きDELETE文のは条件付きUPDATE文の場合と全
く同様に本発明の適用が可能である。
【0099】以上説明したように、SELECT文の位置より
先読みを行いUPDATE文を検出し、SELECT文とUPDATE文の
対象とするレコードが同一であることをプリプロセス時
に確認することによって、プリプロセスにおいてUPDATE
文でのレコード特定にSELECT文で特定したレコード位置
情報を用いるロジックを生成することで、従来UPDATE時
に必要であったレコード特定のためのインデックス検索
処理を無くすことができ、処理の高速化が可能になる。
【0100】また、SELECT文の位置より先読みを行いUP
DATE文を検出し、SELECT文とUPDATE文の検索条件内のホ
スト変数の値が同一であれば2つの文の対象とするレコ
ードが同一になることをプリプロセス時に確認すること
によって、プリプロセスにおいてSELECT文の検索条件内
のホスト変数を保存し、その値を更新実行時にUPDATE文
の検索条件内のホスト変数と比較をし、もし、対応する
ホスト変数のそれぞれが全て等しければレコード特定に
SELECT文で特定したレコード位置情報を用いるロジック
を作成することで、従来UPDATE時に必要であったレコー
ド特定のためのインデックス検索処理を無くすことがで
き、処理の高速化が可能になる。
【0101】さらに、上記最適化をSQL言語仕様の範
囲内で記述されたAPに対して行うことができる。
【0102】尚、上記の実施例では全てホスト言語とし
てC言語を用いるが、本発明はこれに限定されること無
く、ホスト言語がC言語以外の場合でも同様に適用可能
である。
【0103】
【発明の効果】以上説明したように本発明は、条件付き
更新処理において、従来の処理方法に対し、UPDATE文で
のレコード位置の特定処理(インデックス検索)1回分
の処理時間の削減することが可能になる。
【図面の簡単な説明】
【図1】本発明に係る一実施例における更新処理のプリ
プロセスの動作フローチャートである。
【図2】図1に係る一実施例を説明するための条件付き
更新処理の例を示す図である。
【図3】図2について、条件付き更新処理に対して生成
されるロジックを示すフローチャートである。
【図4】本発明に係る他の実施例における更新処理のプ
リプロセスの動作フローチャートである。
【図5】図4に係る一実施例するための条件付き更新処
理の例を示す図である。
【図6】図5について、条件付き更新処理に対して生成
されるロジックを示すフローチャートである。
【図7】本発明の説明で用いるDBの構成の一例であ
る。
【図8】DBMSでのプリプロセス処理の位置づけを示
すブロック図である。
【図9】通常の更新処理の例を示す図である。
【図10】通常の更新処理に対して生成されるロジック
を示すフローチャートの例である。
【図11】従来の更新処理のプリプロセスの動作フロー
チャートである。
【図12】従来の条件付き更新処理の例を示す図であ
る。
【図13】従来の条件付き更新処理に対して生成される
ロジックを示すフローチャートの例である。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 データベースにアクセスするプログラム
    中にSQL言語を用いて記述されたSQL文のプリプロ
    セス処理過程において、 プログラムからSQL文を1文だけ切り出し、 この切り出したSQL文が検索処理を行うSQL文であ
    るSELECT文の場合には、このSELECT文の位置から最初に
    現れるSQL文を検出するか、または、前記SELECT文の
    検索条件に影響が生じるか、または、先読みを行う部分
    の連続性が保証できなくなるか、のうちのいずれかの状
    況が生じるまでプログラムの先読みを行い、 この先読みの過程において更新処理を行うSQL文であ
    るUPDATE文を得たとき、このUPDATE文と前記SELECT文の
    対象テーブルが同一であり、かつ、前記SELECT文と前記
    UPDATE文の検索条件指定が同一であり、かつ、前記SELE
    CT文の検索条件に影響を与えず、かつ、前記SELECT文か
    ら前記UPDATE文までの実行時連続性が保証できた場合に
    は、前記SELECT文が指定しているレコード位置情報を保
    存し、 この保存したレコード位置情報を用いて前記UPDATE文が
    更新するレコードを特定することを特徴とするDBMS
    における更新処理方法。
  2. 【請求項2】 データベースにアクセスするプログラム
    中にSQL言語を用いて記述されたSQL文のプリプロ
    セス処理過程において、 プログラムからSQL文を1文だけ切り出し、 この切り出したSQL文が検索処理を行うSQL文であ
    るSELECT文の場合には、このSELECT文の位置から最初に
    現れるSQL文を検出するまでプログラムの先読みを行
    い、 この先読みの過程において更新処理を行うSQL文であ
    るUPDATE文を得たとき、このUPDATE文と前記SELECT文の
    対象テーブルが同一であり、かつ、前記SELECT文と前記
    UPDATE文の検索条件指定がホスト言語の変数名の差異を
    除き同一であり、かつ、前記SELECT文から前記UPDATE文
    までの実行時連続性が保証できた場合には、前記SELECT
    文の位置情報と検索条件の指定に用いた全てのホスト言
    語の変数を保存し、 この保存したホスト言語の変数の値と、当該ホスト言語
    の変数の値にそれぞれ対応する前記UPDATE文の検索条件
    を指定するホスト言語の変数の値がすべて等しいときに
    は、予め保存されているレコード位置情報を用いて前記
    UPDATE文が更新するレコードを特定することを特徴とす
    るDBMSにおける更新処理方法。
JP25297392A 1992-09-22 1992-09-22 Dbmsにおける更新処理方法 Expired - Lifetime JP3508863B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25297392A JP3508863B2 (ja) 1992-09-22 1992-09-22 Dbmsにおける更新処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25297392A JP3508863B2 (ja) 1992-09-22 1992-09-22 Dbmsにおける更新処理方法

Publications (2)

Publication Number Publication Date
JPH06103125A JPH06103125A (ja) 1994-04-15
JP3508863B2 true JP3508863B2 (ja) 2004-03-22

Family

ID=17244732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25297392A Expired - Lifetime JP3508863B2 (ja) 1992-09-22 1992-09-22 Dbmsにおける更新処理方法

Country Status (1)

Country Link
JP (1) JP3508863B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250791A (ja) 1999-03-03 2000-09-14 Nec Corp Dmlオブジェクト再生成時におけるメッセージ表示方法ならびに装置及び同方法がプログラムされ記録された記録媒体

Also Published As

Publication number Publication date
JPH06103125A (ja) 1994-04-15

Similar Documents

Publication Publication Date Title
US6556986B2 (en) Database management method of invoking a function retrieving index type definition, cataloging particular index which has not yet been supported by a database system
US9104740B2 (en) Enhanced attribute synchronization in a content management system
US20040267747A1 (en) Transaction processing system supporting concurrent accesses to hierarchical data by transactions
US5850535A (en) Roll-back during regeneration on a computer-aided design system
JP2602205B2 (ja) データベース・アクセス制御方法
EP0361464B1 (en) Method and apparatus for producing an abstract of a document
EP0339901B1 (en) Improved version management tool
US20020095438A1 (en) Proposed syntax for a synchronized commands execution
EP0726537A1 (en) Method and system for constraint checking bulk data in a database
Layaida et al. Maintaining temporal consistency of multimedia documents using constraint networks
JPH08190542A (ja) 文書データベース管理装置及び方法
US8244694B2 (en) Dynamic schema assembly to accommodate application-specific metadata
JP3508863B2 (ja) Dbmsにおける更新処理方法
US6980995B2 (en) Method, computer program product, and system for automatically generating a hierarchial database schema report to facilitate writing application code for accessing hierarchial databases
US5930800A (en) Execution of user defined ADT function implemented by embedded module in a database management method
EP0336580A2 (en) Relational databases
Garlan et al. Transformgen: automating the maintenance of structure-oriented environments
JP2008176777A (ja) ウェブ文書スタイル変更システム及びその方法
US6925630B1 (en) Method for generating code for processing a database
JPH06215037A (ja) インデックスの自動更新装置
DE69914290D1 (de) Verfahren zur Daten-Übertragung zwischen einem Rechnerunterstützten Entwurfssystem und einem Rechnerunterstützten Herstellungssystem, Verwendung eines solchen Verfahrens und Schnittstelle zwischen den genannten Systemen
JP3338752B2 (ja) 更新可能表の明示指定によるデッドロック削減方式
JPH05197534A (ja) プログラムデータベースシステム
JP3222173B2 (ja) 日本語構文解析システム
JPH07182222A (ja) オブジェクト指向データベース管理装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20031217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031217

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 9