ここに書くべきかも悩んでいますが、質問です。

プログラムでInsert処理とUpdate処理を意識せずに実行するメソッドを作ったのですが、その名称にはどんな名称(英語)が良いでしょうか…

ちなみにメソッドの内部では
テーブルのキーでQuery、無ければInsert、有ればUpdate、と言う感じです。

ちなみに、その他「参照」や「削除」の動作が有るので
これらの意味合いを含まないような名前にしたいので
AccessやExecute等は避けたいんです。

くだらない質問で申し訳ないですがよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

よかった。

まだ閉じてなかったんですね。
#1を書いたatonです。
あれからつらつら考えてたんですが,こっち↓のほうがいいかもしれません。

Set
Put
Let

何れも,プログラミング言語で代入文に使われるような動詞です。

##2のymmasayanさんのお答えに似た,
# UpdateOrInsert というのは,
#私も真っ先に思いついたんですが,
#(処理内容を表現するという意味ではこれが一番正しい)
#さすがに長いだろうと思ってました。
    • good
    • 0
この回答へのお礼

…と言うわけで締切ろうと巡回中ですが…
そうですよね。SetPutGetってメソッドの王道ですもんね…
おもいきりうっかりしてました(汗)
InsertはInsert!
UpdateはUodate!
SelectはSelect!とSQLの動作ばかり意識していて単純な事を忘れていました。
PutDataにしようかなと思います。ありがとうございました。

お礼日時:2002/02/20 18:57

私なら迷わず「update/insert」にします。

文字通り、「有れば更新、なければ挿入」ですよね。
データベースでは、結構この処理、多いのですが、市民権と言うか、明確な名前をあたえられていません。

「くだらない質問」なんて事、全くありません。誰かこれに「立派な」名前をつけてくれないものかと思っているしだいです。
    • good
    • 0
この回答へのお礼

>update/insert
>「有れば更新、なければ挿入」
…確かにそうですけど…ちょっと長いような…

お礼日時:2002/02/20 19:00

なんか,たまにこういう質問をみるとホッとするというか,嬉しくなります。



TouchUp/Touchupなんていうのはどうでしょうか?

touch up:加筆する,修正する

などという意味です。ちょっと口語的な複合語なのがイマイチですが。

ほんとは「update」がC_ranさんの作られたメソッドのような処理を表現するのに適切な言葉だと思います。SQLを制定するとき,変更処理を「modify」という呼び名にしてくれれば良かったのですが。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
TouchUpですか…また一つ賢くなった気がします。

お礼日時:2002/02/20 18:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

Qupdateではinsertできない?

フィールド名だけ決まったテーブルがあります。中は空っぽです。これに対してインサートすればデータが追加さえるのはわかります。
しかしアップデートをかけると、インサートと同じ結果を返すことができるでしょうか?
例えばテーブルABCがあります。列1はA、列2はBとあります。update ABC set A='1',B='2'とやればテーブルABCにデータが
インサートされることになるでしょうか?手元にデータベースがあればよいのですが、ありませんので、このような質問お許しください。

Aベストアンサー

UPDATEは更新だから、インサートはされません
SQLの種類を指定すればもっと具体的な回答がつくと思います

QVBで配列に格納されているデータをUPDATEや INSERTするには

配列変数にあるデータを一度に更新や追加したい場合SQL文を(繰り返し)ループするのが良いのでしょうか?ほかに方法はありますか
例えば
dim AAA(100) as integer
dim BBB(100) as string
にさまざまな値データが入っているとしてそれらを、SQL文にして書き込みしたい
場合です。データテーブルはあるものしますが、何番目の配列までデータが
入っているか可変です
よろしくお願い致します

Aベストアンサー

ストアドプロシージャを作成して、配列引数を渡して実行する、という手があります。
サーバー側で処理されるので、一度の通信ですみ、その分パフォーマンスがあがります。

QSQLiteでINSERT OR UPDATE

SQLiteにはREPLACE文がありますが、これを使うと、例えばn,c1,c2,c3フィールドがあるデータsampleに対して「replace into sample (n,c2) values (1,1)」を実行すると、c1とc3はnull値になってしまいます。

一部のSQLデータベースで用意されている「INSERT OR UPDATE」のように、行が存在すれば対象のフィールドのみを書き換え(それ以外のフィールドの内容は維持)、存在しなければ行を追加する構文を作ることは可能でしょうか。

Aベストアンサー

SQLiteでは、insert or replace しかないけど select文からの入力とサブクエリは使えるから

replace into [table_name] (n,c1,c2,c3)
select x.n, org.c1, x.c2, org.c3
from (select 1 as n, 1 as c2 ) as x
left join [table_name] as org on x.n=org.n ;

n がprimary key または uniqueの前提で1行書き換えまたは、新規挿入。

QDB2でのシステム日付のinsert、updateについて。

質問です。
DB2で、システム日付のinsert、updateを行うSQLを作成したいのですが、どのようにしたら良いでしょうか?

また、参考になるようなサイトなどありましたら教えてください。

どなたか宜しくお願いします。

Aベストアンサー

そうですか・・・。
DB2V8 FP2 on WinXPProのCLPではうまくいっていますが・・・。

(成功例)

db2 connect to sample
db2 create table hoge(no integer,date date)
db2 insert into hoge values (1,current date)
db2 update hoge set date=current date where no=1

ちなみに

db2 update hoge set date=current date where no='1'

⇒SQL0401N(SQLSTATE=42818)エラー

db2 update hoge set date=integer(current date) where no=1

⇒SQL0408N(SQLSTATE=42821)エラー

でした。
no列はINTEGER型で間違いないんですよね?
以下はどういうエラーになりますか?

db2 update hoge set date=current date

そうですか・・・。
DB2V8 FP2 on WinXPProのCLPではうまくいっていますが・・・。

(成功例)

db2 connect to sample
db2 create table hoge(no integer,date date)
db2 insert into hoge values (1,current date)
db2 update hoge set date=current date where no=1

ちなみに

db2 update hoge set date=current date where no='1'

⇒SQL0401N(SQLSTATE=42818)エラー

db2 update hoge set date=integer(current date) where no=1

⇒SQL0408N(SQLSTATE=42821)エラー

でした。
no列はINTE...続きを読む

Qプロシージャのexecute権限

ストアドプロシージャを作成し、createまで行ったのですが、実行させようとしたらexecute権限がありません というエラーが出たので、
調べたみたのですが、grantというのでexecute権限を付与してあげなくては
いけないと知りました。

grantの書き方について教えてください。
プロシージャ名:test
サーバー名:testserve
ユーザ名:test

の場合、どのようにtestというプロシージャに実行権を与えればよいのでしょうか?

Aベストアンサー

GRANT EXECUTE ON プロシージャ名 TO ユーザ名

でできますよ。


人気Q&Aランキング

おすすめ情報