:あなたはこのような何か(擬似コード)を行うことができます
DECLARE @new_parent_id INT
INSERT INTO MyParent(...) VALUES(...) -- your new parent data
SELECT @new_parent_id = SCOPE_IDENTITY()
INSERT INTO MyChild(parent_id, ...) VALUES(@new_parent_id, ...)
はあなたが何を意味するか、このです?
EDIT:
あなたが実際にテーブル値パラメータを使用して、ADO.NETとSQL Server 2008で、一度にすべてのデータを渡すことができます。
http://msdn.microsoft.com/en-us/library/bb675163.aspx
あなたの親に渡すことができ
および子データをストアドプロシージャの2つのテーブルとして使用し、カーソルをループして親をループし、挿入し、生成されたIDを取得してから、すべての子を挿入して次の親に進みます。
これはたぶんデータベースへの単一の呼び出しを必要とする可能性が最も高いソリューションであり、挿入するデータ量が多い場合や、このSPを他の場所で再利用できると思われる場合、これは行く方法かもしれません。
しかし、私は、クライアントアプリケーションからレコードを1つずつ挿入する方がクリーンで、確かにあなたが望むものを達成する簡単な方法だと思います。
挿入するアイテムは、あなたのシステムに*前の*どのような形で挿入されますか?彼らはどうつながっているのですか? SPへの1回の呼び出しで*すべての*アイテムを渡す方法があった場合、名前やその他のプロパティとともにリンク(仮のIDなど)を渡すことができますか? –