ストアドプロシージャの実行方法を教えてください
お世話になっております。
magic4.9からSQLserverに事前準備したストアドプロシージャを呼び出したいです。
適切な方法を教えていただけないでしょうか?
コンポーネントジェネレータの設定を調べましたが、
マニュアルがないため壁に当たっております。
ご教授よろしくお願いいたします。
-
komatさん、
下記のいずれかの方法でSQLコマンドが記述できます。
1. プルダウンメニューの「タスク環境」→「SQLコマンド」
2. タスクの「データビュー」→「Q=SQLコマンド」ただし、MagicにおけるSQLコマンドの直接的な記述は、あくまで付録的な機能ですので、使っている人は少ないと思います。
Magicはどちらかというと、SQLコマンドを全く知らなくてもSQLが使えてしまうという開発ツールですので、SQLコマンドがお分かりの方でしたら、PythonやJavaで書いたほうが手っ取り早いかもしれませんね。
-
tandaさん
ご教授ありがとうございます。
magicの使い方として、付録的なSQLコマンドを直接記述は
しないほうが良いことが理解できました。ありがとうございます。
どうしても解決できない悩みがあります。
magicでデータ保存するときに、内部コード項目を自動的に1つカウントアップする方法が分かりません。
良い方法はございますでしょうか?
よろしくお願いいたします。
-
komatさん、
目的によって方法は異なりますが、komatさんが望んでおられる方法は下記のどちらですか?
1. 自動的にカウントアップしたのち、あとから途中のレコードが削除されてもリナンバリングしない(削除された番号は間引きになる)。
2. 自動的にカウントアップしたのち、あとから途中のレコードが削除されたらリナンバリングする(削除された番号は詰められる)。 -
komatさん、
ちなみに、SQL Serverが本来持つ機能を使おうとするなら、前述の2番の方法になります。
-
関連ファイルに内部コードでリンクがされますので
削除したときは欠番になります。
希望は、1になります。
2を実行したいときは、
上記の
1. プルダウンメニューの「タスク環境」→「SQLコマンド」
2. タスクの「データビュー」→「Q=SQLコマンド」で実行するようになりますか?
-
komatさん、
1番を希望される場合は、次の2つのやり方があります。好きなほうを選べます。
1. そのテーブルに「降順」で照会リンクをはり、先頭レコードの番号を取得して「+1」をした値を使用する。
2. データリポジトリに「最終番号」とかの項目を持つテーブルを作成し、その値に「+1」をして採番する。採番後は「最終番号」も「+1」をしておく。欠番をなくしたい場合は、数値項目をひとつ作成して、そのカラム特性の「SQL / タイプ」蘭に「INT IDENTITY」と記述します。
ちなみに、私の連載記事が読める環境がありましたら、下記の記事で詳しく解説しています。
https://www.tandacomp.com/
2011年1月31日号(第35回 SQL 上にユニークキーを自動生成する方法) -
komatさん、
ちなみに、Magicは「SQLコマンド」をまったく書かなくても、タスク定義の「データビュー」や「ロジック」に記述した内容を、Magicの実行エンジンが裏で自動的に最適なSQLコマンドに変換してSQL Serverに送信してくれますよ!
-
tandaさん
たいへん参考になるアドバイスをありがとうございました。
こちらもたいへん興味ありますので、拝見させていただきます。
サインインしてコメントを残してください。
コメント
8件のコメント