powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибка при запросе с использованием proxy table
10 сообщений из 10, страница 1 из 1
Ошибка при запросе с использованием proxy table
    #36030580
dorian grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASA 902
подскажите, почему появляется ошибка?

Подключаюсь к ASA902 под DBA.
В базе есть таблица
авторcreate table DBA.test(
id integer not null,
user1 integer null,
primary key( id) ,
)

Создан remote server к ASA902, в которой такая же таблица.
Proxy таблица названа pt_test

Пытаюсь выполнить в ISQL

авторupdate test set test.user1=(select pt_test.user1 from pt_test where pt_test.id=test.id)

или

авторupdate "DBA"."test" set "DBA"."test"."user1"=(select "DBA"."pt_test"."user1" from "DBA"."pt_test" where "DBA"."pt_test"."id"="DBA"."test"."id")



Появляется ошибка
Could not execute statement
Column "id" not found
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36030670
Высоцкий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переписать запросик бы следовало как то
update "DBA"."test" set "DBA"."test"."user1"= "DBA"."pt_test"."user1" from "DBA"."pt_test" where "DBA"."pt_test"."id"="DBA"."test"."id"
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36030714
dorian grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВысоцкийПереписать запросик бы следовало как то
update "DBA"."test" set "DBA"."test"."user1"= "DBA"."pt_test"."user1" from "DBA"."pt_test" where "DBA"."pt_test"."id"="DBA"."test"."id"

Так тоже пробовал, такая же ошибка.
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36030777
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dorian grey,

См. BOL "Features not supported for remote data"
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36030845
dorian grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antanddorian grey,

См. BOL "Features not supported for remote data"

Что самое простое в этом случае?

Cоздать копию remote таблицы в текущей базе, импортировать данные и потом уже выполнять update?
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36030873
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dorian grey,

Или в курсоре по прокси таблице.
или загнать во времянку с ключом id из прокси таблицы и вариант от Высоцкого, но с времянкой.
Если данных много, то вариант второй предпочтительнее.
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36030933
Высоцкий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если ошибка повторяется - то суть ошибки в студию. И еще уж не дублируются ли ID?
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36031323
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВысоцкийЕсли ошибка повторяется - то суть ошибки в студию. И еще уж не дублируются ли ID?
Да наверное дублирования нет, просто посылается строка запроса прямо на удаленный сервер, а значение test.id не определено, вот и вылетает ошибка.
Я бы обьявил курсор на обьединение таблиц, т.е. что-то типа select test.id, pr_test.id from ... inner join ... А само обновление делал бы сканированием по курсору...
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36031525
dorian grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antand
Или в курсоре по прокси таблице.


Sergey OrlovЯ бы обьявил курсор на обьединение таблиц, т.е. что-то типа select test.id, pr_test.id from ... inner join ... А само обновление делал бы сканированием по курсору...

Спасибо, так будет лучше.
...
Рейтинг: 0 / 0
Ошибка при запросе с использованием proxy table
    #36033054
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dorian greyantand
Или в курсоре по прокси таблице.


Sergey OrlovЯ бы обьявил курсор на обьединение таблиц, т.е. что-то типа select test.id, pr_test.id from ... inner join ... А само обновление делал бы сканированием по курсору...

Спасибо, так будет лучше.
Можно еще написать функцию, которая в качестве входного параметра будет принимать test.id, возврат null, если не найдено и name если найдено, после чего
update test set name=f1(id) where f1(id) is not null, но в этом случае будет сканирование таблицы...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибка при запросе с использованием proxy table
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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