ストアド プロシージャ内にあるのに、INSERT ステートメントが 1 つなのか 2 つなのかを気にする必要はありません。明らかに、2 つのステートメントは自明です。
一部の DBMS では、単一の INSERT で複数の値句をリストできます (@Ivan はこれを提案しています)。
INSERT INTO Table(ID, ContactName, Designation)
VALUES(1, @ContactName1, @Designation1)
VALUES(1, @ContactName2, @Designation2);
値リストの間にコンマが必要かどうかはわかりません。また、テーブル内の 2 つのレコードが同じ ID を持つことが許可されているかどうか、また ID がどのように決定されるかについても明確ではありません。
DBMS が 1 つの INSERT ステートメントで複数の VALUES 句をサポートしていない場合は、2 つの INSERT ステートメントを受け入れるのが最善です。原子性が問題になる場合は、トランザクションを検討できますが、これがより大きなトランザクションの一部にすぎない場合は、特にエラー時の ROLLBACK が問題になります。DBMS が SAVEPOINTS をサポートしている場合、プロシージャーは開始時にセーブポイントを確立し、終了時にそのセーブポイントにコミットまたはロールバックすることができます。