插入期间的SQL选择和更新记录

时间:2012-02-28 15:04:15

标签: sql stored-procedures

SELECT声明中尝试UPDATESELECT记录 初始SELECT:

INSERT INTO dbo.ATable(VALUE1, VALUE2)
SELECT B.VALUE1, dbo.FUNCTION(B.VALUE1)
FROM dbo.BTable B

功能:

SELECT @nextNum = C.VALUE2
FROM dbo.CTABLE C
WHERE C.VALUE1= @VALUE1
RETURN @nextNum

我想做什么:

  1. 将记录插入表1。
  2. 从表2中获取数据。
  3. 还从另一个表(CTable)获取VALUE2的值。
  4. 问题:

    每次执行此函数时我都需要递增VALUE2,因此对该记录的多次调用具有唯一值。

    我无法从函数内部获得存储过程,我无法在SELECT内部存储过程,我也无法从{{1}内部调用UPDATE }。

    我没有选择吗? 我需要不同的实现吗?

1 个答案:

答案 0 :(得分:0)

INSERT INTO dbo.ATable(VALUE1, VALUE2)
SELECT B.VALUE1, C.VALUE2
FROM dbo.BTable B 
JOIN dbo.CTable C
ON B.VALUE1 = C.VALUE1