CSV文字列、XML文字列、または...を使用する必要がありますか?ストアドプロシージャに値の配列を送信する最も良い方法
答えて
どのデータベースとバージョンですか? SQL Server 2008では、テーブル値のパラメータを使用できます。 2005年にはそれほど多くはありません。
私は通常、varcharフィールドの最大長を超えないように、CSV文字列を使用します。 XMLは、その目的のために一言のように思えます。
これを実行するための特定のAPIがあります。Javaでは、オブジェクトでステートメントを準備し、データベース型を指定できます。JDBCは変換を処理します。 これはベンダー固有のものです。 危険な副作用を伴う引数の種類を「隠す」ため、推奨される手法のいずれかを使用することはお勧めしません。
2005/2000では、Xml文字列を作成し、Xml Parser(2005)を使用して解析するか、2000年に展開しなければなりませんでした。
<ArrayOfGuid><Guid></Guid></ArrayOfGuid>
実際に使用しているデータベースによって異なります。
MS SQL 2005では、XMLデータ型がMicrosoftプラットフォームに導入されました。 Oracle9iはXMLTYPEを導入しました。 MySqlには、ExtractValueやUpdateXMLなどのXML機能もあります。 MS SQL 2008には、テーブル形式のデータが渡されるテーブル値のパラメータがあります。
質問は本当に値をどのように使いたいかにかかっています。テーブルに保存するためにそれらを切り取っていますか、または全体のブロブを保存したいですか?
2つの値しかない場合は、通常の文字列解析またはテーブル値パラメータを使用することをおすすめします。それ以外の場合はXMLを行います。
SQLは(フレーバに関係なく)実際には文字列解析に対応していないことに注意してください。したがって、あなたがそのルートに行くなら、あなたのためにそれを処理するために、データベース内にヘルパー関数(CLR、UDFなど)を作成するかもしれません。
私がsprocにアレイを送信する必要があるときはいつも、私は一般的に一歩前進して「なぜ?」と考えます。私はしばしば、sprocに配列の必要なしに正しい結果を生成することを可能にするいくつかの他の基準をsprocに送ることができます。
配列を渡す必要が生じた場合があります。この場合、xssを渡すとmssqlが正常に動作することがわかりました。
- 1. COMでAPIにキーと値のペアの配列を送信する最も良い方法
- 2. DjangoでGCSにファイルを送信する最も良い方法
- 3. データクライアントサーバーを送信する最も良い方法
- 4. デバイスからデータを送信する最も良い方法は?
- 5. ajaxで画像を送信する最も良い方法
- 6. numpy配列をアスキーファイルに保存する最も良い方法
- 7. テキストエリアでのダブルフォーム送信を防ぐ最も良い方法
- 8. 配送ルート、都市、ドライバーを表す最も良い方法
- 9. Cで配列をシフトする最も良い方法は?
- 10. Java - 2D配列を印刷する最も良い方法は?
- 11. 多くのイベントをアンドロイドでサーバーに送信する最も良い方法
- 12. 大きなデータをAndroidのサーバーに送信する最も良い方法
- 13. ユーザー確認なしにファイルをGCSに送信する最も良い方法
- 14. プログラマチックにジョブをハードウェアプリンタに送信する最も良い方法は?
- 15. HttpResponseRedirectと一緒に変数を送信する最も良い方法
- 16. サーバからAndroidアプリに.zipを送信する最も良い方法
- 17. プッシュ通知をサーバーからクロムエクステンションに送信する最も良い方法は?
- 18. ストアドプロシージャでテーブルを渡す最も良い方法は
- 19. Socket.IO 2人のユーザー間でメッセージを送信する最も良い方法は?
- 20. NSURLConnectionで一連のHTTP要求を送信する最も良い方法
- 21. PEAR/Mail_Queueで10,000以上のメールを送信する最も良い方法
- 22. 配列内の最初のオカレンスを置換する最も良い方法
- 23. 例外をUIに転送する最も良い方法は?
- 24. ビットマップオブジェクトをlanに転送する最も良い方法
- 25. xmlをSQL Serverに転送する最も良い方法は?
- 26. アンドロイドのリニアレイアウトにコンテンツを配置する最も良い方法
- 27. リファクタリングの最も良い方法は配列要素へのアクセス
- 28. PHPからMySQLストアドプロシージャに配列を渡す最も良い方法は何ですか?
- 29. .NETアプリケーションから電子メールを送信する最も良い方法は?
- 30. CでTCPソケット経由でビデオを送信する最も良い方法