SQLを使用して複数の値を複数のテーブルに挿入できるストアドプロシージャを作成しようとしています。テーブルの中には同じデータを共有するものがありますので、同じ値を各テーブルに挿入する必要があります。同じ変数を使って挿入しようとしましたが、うまくいかないようです。複数のテーブルに同じ変数と値を挿入する
目標は、時間を節約することです。同時にすべてのテーブルにデータを挿入すると、一度に1つのクエリを実行する各テーブルを通過する必要がなくなります。以下のNULLSは実際にはデータを持つカラムを表し、テストのために残っています。
私はそれを機能させるために何ができますか?アプローチの考え方はどれですか?
create proc InsertMultipleValues
(
@BusName varchar (50),
@BusReg varchar (10),
@Invoice varchar (50),
@Receipt varchar (50),
@Total varchar(20),
@KioskID varchar(50),
@Date date
)
AS
Begin
Insert into GAFSupplies values
(newid(), @BusName, @BusReg, @KioskID, @Date, @Invoice, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, @Date)
Insert into GAFLedgers values
(newid(),@Date, NULL, @KioskID, NULL, NULL, @BusName, NULL,
@Invoice, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @Date)
Insert into Renewals values (newid(), @BusReg, NULL, 'T', NULL, NULL,
@BusName, NULL,
900, 'B', NULL, @Receipt, NULL, NULL, @KioskID, NULL, @Date)
End
The screenshot shows the error when running the stored procedure
表の列と挿入文の列が一致しないというエラーが表示されます –
表の列 –
をチェックしてください。列の値を渡して –