趣味でハードウェア(PLC)への通信ライブラリを作成しています。これはまあその界隈におけるユーザプログラマが最低限求めるであろう機能は実装したので、「MESシステム」を作るために便利なDLLもあれば便利なのではないかなと思ってSQLを勉強してゐます。
SQLを勉強してゐると、おそらく分業(アプリとSQLの)のためだろうか、ストアドプロシージャというものがあります。これによればアプリ側でSQL文を書く必要はありません。
今回、私が作成したいDB通信DLLは、ユーザ様にはユーザ様のDBのテーブルと対象カラムを指定していただいて、
DBはそれをSQL文で並び替えたり抽出をし、アプリ側の一時的なテーブルに退避し、
つまり、
帳票から指定されたデータのDBへの登録(SQL実行)
↓
帳票から指定されたデータのPLCへの登録のためのデータ抽出(SQL実行)
↓
アプリ側でハードウェアとの通信処理に渡すためのデータ整理 (アプリ)
↓
ハードとの通信処理実行 (アプリ)
ということがしたいのですが、こういった「ライブラリ」を作成するとき、
SQLをストアドプロシージャに分担してしまいますと、そもそもユーザ様にその文だけの手数と技術的なことをかけさせてしまうので、ライブラリとしてのメリットが低減する気がするのですが、
やはりこういう場合は、必ずしもストアドプロシージャを使わずに、アプリ側でSQL(トランザクションや排他ロックも含めて)を持たせる(分担)させるわけなのでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/02 11:57