一次为实体插入多个值

时间:2012-04-07 00:53:56

标签: sql-server-2005

我有3张桌子: 1. userTABLE - USERNAME(jone)

  1. 的productTable

    • prd_name(prd1,prd2,prd3)
  2. paidTABLE

    • USERNAME
    • prd_name
    • paid_amt
  3. 我的查询是为3个产品插入由jone支付的金额。 一种方法是:对于他购买的每种产品,我都要单独插入付费的费用。

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

    有没有办法在3个产品的jone中一次性插入paid_amt的值 即在一个存储过程声明中,我可以为他购买的3个产品插入由jone支付的金额。

1 个答案:

答案 0 :(得分:0)

我同意Marc - 在交易中这样做,但如果你真的想要一个单一的声明,那么你可以这样做:

insert into paid (username, prd_name, paid_amt)
select 'jone', 'prd1', 10
union all
select 'jone', 'prd2', 20
union all
select 'jone', 'prd3', 30