Sybase PowerBuilder Pipeline вопрос - PullRequest
       18

Sybase PowerBuilder Pipeline вопрос

0 голосов
/ 05 сентября 2011

Я очень новичок в PowerBuilder.У меня есть вопрос относительно передачи данных из одной таблицы в другую с помощью конвейера.Исходная таблица имеет одно дополнительное поле, скажем, «передача».Первоначально этот столбец имеет значение 0. После того, как данные были перенесены из исходной таблицы в таблицу назначения, мне нужно обновить столбец «переноса» исходной таблицы до 1. Я не могу понять, нужно ли создавать новый конвейер дляобновить исходную таблицу снова?или какой путь?Я использую следующие для конвейера.Я буду признателен за любую помощь.

lp_Create.DataObject  =  "p_create_tableA"
li_rc  =   lp_Create.Start(lt_Source,  sqlca,  dw_errors)
If  li_rc  <>  1  Then
    MessageBox("Some error","Error  return  code:  "  +  string(li_rc))
End  if   

1 Ответ

0 голосов
/ 06 сентября 2011

Вообще говоря, конвейер не предназначен для создания значений для вашей «исходной» таблицы, которые не копируются откуда-либо. Обычно для этого вам нужен DataStore. Однако, если у вас есть эксклюзивный доступ к таблице (без других пользователей, без других процессов или триггеров), это будет один из немногих случаев в PowerBuilder, где я бы порекомендовал встроенный оператор SQL с чем-то вроде:

UPDATE <table> SET transfer = 1

Если у вас нет эксклюзивного доступа к исходной таблице (и кто-то / что-то еще может записывать в нее новые записи после вашего конвейера, но до того, как вы обновите флаг переноса), тогда это целое другая проблема, с которой, вероятно, не стоит сталкиваться, если вы новичок в PowerBuilder, и это не ваша ситуация.

Удачи,

Терри.

...