以下のような挿入ステートメントがあります。ストアドプロシージャをデバッグしてコードを実行して、コードが実行されていることを確認できますが、面白いことが起こります。SQL Serverの挿入ステートメントは正常に実行されますが、行が作成されても値はテーブルに追加されません。
データベースに保存されると予想される値は保存されません。代わりにテーブルに行が作成され、RecordCreatedField
が正しく作成されます。主キーが含まれていても、挿入されると予想される実際の列は作成されません。日付列とIDを除いて、すべての列はnvarchar/varchar
ですが、それらの列のみが設定されます。しかし、次の@ PRCUPC、@ PRCEAN、@ PRCGTIN、@ PRCatalogNumberは何とか省略されます。
EXEC spinsertprodcode
@pid out,
@ProdID,
@UPC,
@EAN,
@TIN,
@CNumber,
0,
0,
1,
@staid,
@counter out
INSERT INTO dbo.ProdCodes
(PRProductID
,PRCUPC
,PRCEAN
,PRCGTIN
,PRCatalogNumber
,PRIsReplacement
,PRIsReplaced
,PRCRecordCreatedDate
,PRCIsActive
,PRStatusFlag)
OUTPUT INSERTED.PRCID INTO @opID
VALUES
(@PRProductID,
@PRCUPC,
@PRCEAN,
@PRCGTIN,
@PRCatalogNumber,
@PRIsReplacement ,
@PRIsReplaced,
GETDATE(),
@PRCIsActive,
@PRStatusFlag)
SELECT @PRCID = O.ID FROm @opID O
私がこれを修正したり、何が起こっているかを理解していただけると感謝しています。
は、ここに私の挿入コードを呼び出すメインストアドプロシージャのSQLフィドルです。 SQL Fiddle of my code
ストアドプロシージャの呼び出しに使用しているコードを投稿できますか?私は、パラメータが正しく設定されていないかもしれないと推測します。 – d89761
私はそれらが正しく渡されていることを確認するために値の上にカーソルを置くことができます。そして、私は挿入点に呼び出されたコードにステップインし、値がインストールポイントにもあることを確認することができます。 – Kobojunkie
テーブルにトリガーがありますか? –