Выбор SQL и обновление записи во время вставки - PullRequest
0 голосов
/ 28 февраля 2012

Попытка SELECT и UPDATE записи внутри оператора SELECT.
Начальный 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. Также получить значение для VALUE2 из другой таблицы (CTable).

Проблема:

Мне нужно увеличивать VALUE2 каждый раз, когда эта функция выполняется, поэтому несколько вызовов этой записи имеют уникальное значение.

Я могу 'у меня нет хранимого процесса внутри функции, у меня не может быть хранимого процесса внутри SELECT, и я не могу вызвать UPDATE изнутри FUNCTION.

Я изопции?Нужна ли другая реализация?

1 Ответ

0 голосов
/ 28 февраля 2012
INSERT INTO dbo.ATable(VALUE1, VALUE2)
SELECT B.VALUE1, C.VALUE2
FROM dbo.BTable B 
JOIN dbo.CTable C
ON B.VALUE1 = C.VALUE1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...