2009-03-10 11 views

答えて

2

どのデータベースとバージョンですか? SQL Server 2008では、テーブル値のパラメータを使用できます。 2005年にはそれほど多くはありません。

0

私は通常、varcharフィールドの最大長を超えないように、CSV文字列を使用します。 XMLは、その目的のために一言のように思えます。

0

これを実行するための特定のAPIがあります。Javaでは、オブジェクトでステートメントを準備し、データベース型を指定できます。JDBCは変換を処理します。 これはベンダー固有のものです。 危険な副作用を伴う引数の種類を「隠す」ため、推奨される手法のいずれかを使用することはお勧めしません。

0

2005/2000では、Xml文字列を作成し、Xml Parser(2005)を使用して解析するか、2000年に展開しなければなりませんでした。

<ArrayOfGuid><Guid></Guid></ArrayOfGuid> 
2

実際に使用しているデータベースによって異なります。

MS SQL 2005では、XMLデータ型がMicrosoftプラットフォームに導入されました。 Oracle9iはXMLTYPEを導入しました。 MySqlには、ExtractValueやUpdateXMLなどのXML機能もあります。 MS SQL 2008には、テーブル形式のデータが渡されるテーブル値のパラメータがあります。

質問は本当に値をどのように使いたいかにかかっています。テーブルに保存するためにそれらを切り取っていますか、または全体のブロブを保存したいですか?

2つの値しかない場合は、通常の文字列解析またはテーブル値パラメータを使用することをおすすめします。それ以外の場合はXMLを行います。

SQLは(フレーバに関係なく)実際には文字列解析に対応していないことに注意してください。したがって、あなたがそのルートに行くなら、あなたのためにそれを処理するために、データベース内にヘルパー関数(CLR、UDFなど)を作成するかもしれません。

0

私がsprocにアレイを送信する必要があるときはいつも、私は一般的に一歩前進して「なぜ?」と考えます。私はしばしば、sprocに配列の必要なしに正しい結果を生成することを可能にするいくつかの他の基準をsprocに送ることができます。

配列を渡す必要が生じた場合があります。この場合、xssを渡すとmssqlが正常に動作することがわかりました。

関連する問題