ここでは、私はC#から配列を受け取りました。それを@idUser int
と@idRegion int
という2つの列のみで次の表に挿入したいとします。なぜこの単純なストアドプロシージャが機能しないのですか
ストアドプロシージャは配列を受け取ってテーブルに挿入する必要がありますが、何らかの理由で動作していないと、@idRegion
をintに変換できないことがわかります。私はCAST
とCONVERT
を使ってintに変換しようとしましたが、動作しません。
Select From
は正常ですが、挿入はできません。ここ
は、ストアドプロシージャ(@idUser
ニーズが全て挿入された行のために同じである)である。
@idUser int,
@idRegion nvarchar(MAX)
AS
BEGIN
INSERT INTO [UsersRegion] (idUser,IdRegion)
VALUES (@idUser, @idRegion)
SELECT @idUser,cast(value as int) FROM STRING_SPLIT(@idRegion,',')
END
それを実行しているとき、私はこのエラーを取得する:nvarchar型の値を変換する際
変換が失敗しました'1,2,3,4'をデータ型intに変換します。
キャストの詳細や変換はああ、それはそれは数字の配列ですか?私はちょうど私が怖いあなたを助けていないのだろうか?と言った すべての単一番号ではありません – Dog
:(動作していないよう... –