1

問題があります。入力をストアド プロシージャに展開する必要がありますが、それを行う方法がわかりません。

ストアド プロシージャには VARCHAR(256) 入力があり、これを分割して挿入ステートメントを生成する必要があります。

この varchar "1,2,3,7,8,9" を分解するには、その文字列を "," で分割し、結果を反復処理する必要があります

4

3 に答える 3

1

はい、 tsql が提供する mysql の機能の複製に関するこのフォーラム スレッドを参照してください。

そのスレッドでは、この方法の欠点についても説明しています。また、VARCHAR(255) または単に VARCHAR(MAX) を使用する必要があると思います。これは、256 には利点がなく、2 バイト サイズのプレフィックスを使用し、256 文字しか格納できないためです。

代わりに、xml および xpath 構文を使用して値を抽出することを検討しましたか? 今後、これはより読みやすく保守しやすい方法になると思います。

于 2009-11-16T15:27:15.670 に答える
1

ここに split_string() 関数があります http://forge.mysql.com/tools/tool.php?id=4

于 2010-09-11T10:21:00.903 に答える
0

私の SQL ライブラリを試してください: http://ondra.zizka.cz/stranky/programovani/sql/mysql_stored_procedures.texy

于 2010-11-19T23:19:49.180 に答える