ループを使用せずに複数のデータをmssqlに挿入する方法はありますか?医師が患者にいくつかの薬を与えるかもしれないが 私はので、私は自分のデータベース内を願って、診療所の管理システムを開発しています、データは...今私は何を得る同じ外部キーを使用して複数のデータを挿入する方法
|-----------------------------------|
| RecordID | ItemID | Amount|
|-----------------------------------|
| 1 | 1 | 10 |
| 1 | 2 | 100 |
--------------------------------------
と次のようになります
|-----------------------------------|
| RecordID | ItemID | Amount|
|-----------------------------------|
| 1 | 1 | 10 |
| 2 | 2 | 100 |
--------------------------------------
私はストアプロシージャを使用しているため、すべての "ItemID"をSQLに格納するために必要なループです。
+------------+ +-----------------+
| record | | record_items |
+------------+ +-----------------+
|RecordID(PK)| > | RecordID (FK) |
|PatientID | | ItemID |
|Precription | | Amount |
|VisitDate | +-----------------+
+------------+
これは私の2つのテーブルで、私は、データを格納する際、レコードIDを挿入どのように多くのアイテムIDに基づいて増加しないことを願っています。
ALTER PROCEDURE [dbo].[InsertPatientRecord]
-- Add the parameters for the stored procedure here
@PatientID INT,
@Prescription VARCHAR(50),
@VisitDate DATETIME,
@ItemID INT,
@Amount INT
AS
SET NOCOUNT On
DECLARE @RecordID INT
INSERT INTO record VALUES(@PatientID,@Prescription,@VisitDate)
SET @RecordID=Scope_Identity()
INSERT INTO record_item VALUES(@RecordID,@ItemID,@Amount)
RETURN
これは、あなたはすべてを一度に挿入するためにINSERT INTO SELECT
を使用することができ、私のストアドプロシージャ
ストア手順 –
のためのあなたのコードを投稿私は、これは宿題です願っています。あなたの質問は、生命に不可欠なシステムを明らかに開発している人にとって基本的なものです。第三者の電子処方システムを統合したり、おそらくあなた自身で構築しようとするよりも、診療管理システム全体を購入することを検討しましたか? – onedaywhen
これは単なる宿題です – user1151874