Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Update from proxy table / 1 сообщений из 1, страница 1 из 1
01.03.2011, 17:11
    #37142342
spancer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update from proxy table
Доброе время суток!
Суть проблемы в следующем.

Есть хранимая процедура

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
//на самом деле код процедуру очень громоздок и сокращен для примера сохраняя общую схему
create procedure same_name
(
@id int
)
AS BEGIN

SELECT value FROM same_table t where t.id = @id.


//создается прокси таблица связанная с этой процедурой
create existing table t1
 (
    value        int null,
    _id      int 
)
external procedure
at 'loopback.my_db.dbo.same_name'


необходимо совершить выборку полей через прокси таблицу для udpate

если напрямую писать

Код: plaintext
1.
2.
3.
4.
UPDATE #temp
SET value = st.value
FROM same_table st
where st._id = #temp.id
то это код не работает, так как в подстановке участвует множество записей id.

если писать через курсор
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
DECLARE @cs_id int

DECLARE cs_id CURSOR FOR

SELECT id from #temp

OPEN cs_id

FETCH   cs_id
	INTO
            @cs_id

    WHILE @@sqlstatus =  0 
    BEGIN
UPDATE #temp
SET value = st.value
FROM same_table st
where st._id = @cs_id

    FETCH   cs_id INTO
            @cs_id
END
тоже не работает. ругается на невозможность создания темп таблицы во время транзакции. я так понимаю когда прокси таблица должна наполниться данными.

ASE 15.
Вообще необходимо получить данные из одной хранимки вызовом ее внутри другой и получением результирующего множества ею возвращаемого. Но нужно это делать для множества параметров таблицы #temp.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Update from proxy table / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]