Javaのデータベースを勉強しているJava初心者です
テキストにストアドプロシージャとCallableStatementが出てきてさっぱりわかりません
理解レベルをかなり下げて柔らかく教えていただければと思います・・・・・・
よろしくおねがいします
Q&Aサイトでその要求は無茶かと思います。データベースの解説書をあなたのために書けというような要求です。どこまでは理解できて、どこからわからないのか、具体的にわからない箇所を示してください。
そもそも、Javaとデータベースの初学者であれば、ストアドプロシージャやCallableStatementはまだ理解する必要ないと思いますが。
そうですね、PreparedStatementなどはなんとなく勉強して分かったのですが
CallableStatementに関しては、ストアドプロシージャというものが出てきて「?」となっています
データベース側に関数っぽくよく使うSQL文を登録できる、というところまではわかりました
そこで、ストアドプロシージャとは何なのか、仕組みやCallableStatementを使うメリットやデメリットなどが知りたいともった次第です
すでに回答にもあるように、ストアドプロシージャはロジック(処理)を書けます。回したり判断したり。https://www.fujitsu.com/jp/products/software/resources/feature-stories/postgres/article-index/stored-procedure/
ストアドプロシージャは、DBエンジン内で実行されるので、CallableStatementで実行すると処理が終わるまでDBサーバ-クライアント間でのデータ交換は(たぶん)発生しない。JDBCでselect発行して結果取得してデータ更新しして...とすれば、何度か何度もデータ交換が発生する。ネットワーク越しにデータ交換する手間や負荷すら惜しいのであれば積極的に採用してもいいと思いますが、業務ロジックがあちこにに散らばってしまうこととの兼ね合いは考えたほうがいいでしょう。また、ストアドプロシージャの文法はそれぞれなのでその点も。
ありがとうございます!
助かります……
回答1件
あなたの回答
tips
プレビュー