【发布时间】:2014-06-09 02:28:26
【问题描述】:
我正在使用 sql server 2012 我的桌子喜欢
表格:订单
|idOrder| idCustomer | dateTransaction| invoice |
| 1001 | 104 | 2014-06-09 | |
idOrder 使用自动增量,我想问一下如何获取刚刚插入的 id 订单并与日期交易结合, 我的插入订单的 SP:
BEGIN
INSERT INTO Order
(
idCustomer,
transactionDate,
invoice
)
VALUES
(
@idCustomer,
GETDATE(),
CAST(datepart(year, getdate()) AS VARCHAR(10)) + CAST(datepart(month, getdate()) AS VARCHAR(10)) + CAST(@idCustomer AS VARCHAR(10))
)
END
目前为止
|idOrder| idCustomer | dateTransaction| invoice |
| 1001 | 104 | 2014-06-09 | 201406104 |
我想要的是
|idOrder| idCustomer | dateTransaction| invoice |
| 1001 | 104 | 2014-06-09 | 2014061001 | --> 1001 is idOrder
如何在插入新数据的同时将idOrder(自动递增)输入发票字段/或
exec SP insert 后如何更新 exec SP 以获取 idOrder,因为 IdOrder 是自增的,所以它不是参数
谢谢
有效的完整代码!
BEGIN
INSERT INTO Order
(
idCustomer,
transactionDate,
invoice
)
VALUES
(
@idCustomer,
GETDATE(),
CAST(datepart(year, getdate()) AS VARCHAR(10)) + CAST(datepart(month, getdate()) AS VARCHAR(10)) + CAST(@idCustomer AS VARCHAR(10))
)
END
声明@ID INT 选择@ID = SCOPE_IDENTITY() 更新 TR_Order SET Invoice = CAST(Invoice AS VARCHAR) + CAST(@ID AS VARCHAR) WHERE IdOrder = @ID
【问题讨论】:
-
MySQL / SQL Server。选择一个。
标签: mysql sql sql-server