私は2つのテーブルを持っています:
- 注文(ID注文IDフィールドを使用)
- OrderItems(注文IDへの外部キーを使用)
ストアドプロシージャには、複製する必要のある注文のリストがあります。カーソルなしでストアドプロシージャでこれを行う良い方法はありますか?
編集:
これはSQLServer2008にあります。
テーブルのサンプル仕様は次のとおりです。
CREATE TABLE Order (
OrderID INT IDENTITY(1,1),
CustomerName VARCHAR(100),
CONSTRAINT PK_Order PRIMARY KEY (OrderID)
)
CREATE TABLE OrderItem (
OrderID INT,
LineNumber INT,
Price money,
Notes VARCHAR(100),
CONSTRAINT PK_OrderItem PRIMARY KEY (OrderID, LineNumber),
CONSTRAINT FK_OrderItem_Order FOREIGN KEY (OrderID) REFERENCES Order(OrderID)
)
ストアドプロシージャには'fred'のcustomerNameが渡されるため、CustomerName='fred'であるすべての注文のクローンを作成しようとします。
より具体的な例を挙げます。
フレッドにはたまたま2つの注文があります。
- 注文1の行番号は1、2、3です。
- 注文2の行番号は1、2、4、6です。
テーブル内の次のIDが123の場合、次を作成します。
- 行1、2、3で123を注文する
- 行1、2、4、6で124を注文する