2012-02-28 16 views
0

SELECTステートメント内のSELECTUPDATEのレコードにしようとしています。
初期SELECT:SQL挿入中のレコードの選択と更新

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

FUNCTION:私が何をしようとしています何

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

  1. は、表1にレコードを挿入します。
  2. 表2のデータを取得します。
  3. また、別のテーブル(CTable)からVALUE2の値を取得します。

問題:

私は、この関数は、そのレコードにので、複数の呼び出しが一意の値を持って実行VALUE2たびにインクリメントする必要があります。

私はSELECT内のストアドプロシージャを持つことができない、関数の中からストアドプロシージャを持つことができない、と私はFUNCTION内部からUPDATEを呼び出すことはできません。

オプションがありますか? 別の実装が必要ですか?

+0

テーブル「A」または複数の行に1つの行を挿入しようとしていますか? –

+0

テーブル1にどのレコードを挿入しますか?と何のテーブル2? – dansasu11

+0

あなたはどのデータベースサーバを使用していますか? – Vikram

答えて

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 
関連する問題