0

私は 3 つのテーブルを持っています: 1. userTABLE - USERNAME (jone)

  1. 製品表

    • prd_name (prd1、prd2、prd3)
  2. 有料テーブル

    • ユーザー名
    • prd_name
    • 支払った金額

私のクエリは、3 つの製品に対して jone が支払った金額を挿入することです。1 つの方法は、jone が購入するすべての製品に対して、jone が支払った金額を個別に挿入することです。

create proc paid @USERNAME varchar, @prd_name varchar, @paid_amt int
as
insert into paidTABLE values (@USERNAME, @prd_name, @paid_amt  )

3 つの製品について jone がテーブルに一度に payed_amt の値を挿入する方法はありますか。つまり、1 つのストアド プロシージャ ステートメントで、jone が購入した 3 つの製品に対して支払った金額を挿入できます。

4

1 に答える 1

0

私はマークに同意します-トランザクションでそれを行いますが、本当に単一のステートメントが必要な場合は、次のようにすることができます:

insert into paid (username, prd_name, paid_amt)
select 'jone', 'prd1', 10
union all
select 'jone', 'prd2', 20
union all
select 'jone', 'prd3', 30
于 2012-04-07T01:14:44.623 に答える